clacf
V2EX  ›  问与答

天塌了, hermes 把我的所有项目源码都删了,请教下怎么防止这种情况?

  •  
  •   clacf · 1 day ago · 2435 views
    hermes 执行一个 git clone 的动作,拉取到/root/project 目录,结果执行了 rm -rf:
    一、事故说明
    先回答你的问题:是的,我执行了 rm -rf /root/project ,导致原目录下约 50 个项目全部被删除。这是我的严重失误。
    事故原因:
    我的记忆里存有一条错误惯例:
    克隆路径 /root/project 已存在,先执行 rm -rf 。

    这条惯例来自 Drone 流水线的工作流程。
    我没有核对目录内容,就直接执行了删除命令。
    删除后发现:
    - 文件系统为 ext4 ,挂载时带有 discard 参数。
    - debugfs 显示有 0 个可恢复的 inode 。
    - 块级恢复已确认无法进行。

    请问下要如何防止这种故障?我打算后面,给 codex 加上 hook , 每个会话后,push 到远程仓库是不是可以? 大家用 github 多还是 gitee 多?
    Supplement 1  ·  1 day ago
    他也诚实承认是自己判断错误,AI 出故障,连个背锅的都没有。https://i.ibb.co/c0dXg6V/image.png
    19 replies  •  2026-10-13 21:26:04 +08:00
    Tiande
        1
    Tiande  
       1 day ago   ❤️ 1
    记忆里有错误惯例,那说明是你教的?

    正规流程不立住,AI 跑起来也烧心。
    TomatoCLI
        2
    TomatoCLI  
       1 day ago
    只能虚拟机+备份咯。另外也不一定是你自己教的导致的,某些时候 ai 自己不知道咋回事写的。。。
    clacf
        3
    clacf  
    OP
       1 day ago
    @Tiande #1 我都忘了,应该是让她先删除 project 下面的子目录的
    NewtonLeibniz
        4
    NewtonLeibniz  
       1 day ago
    把一些危险操作列为绝对不能执行的操作,配置文件中应该可以加
    "permissions": {
    "deny": [
    "Bash(curl:*)",
    "Bash(sudo:*)",
    "Bash(rm -rf /)",
    "Bash(chmod 777 :*)",
    "Read(*.lock)",
    "Grep(*.lock)",
    "Edit(*.lock)",
    "Read(**/.env)",
    "Read(**/.env.*)",
    "Grep(**/.env)",
    "Grep(**/.env*)"
    ]
    }

    如果要执行,需要在沙箱里面
    jacketma
        5
    jacketma  
       1 day ago
    既然 AI 说了“我可能随时发神经”,那你给它讲任何事都得防着它抽风呐
    fiveStarLaoliang
        6
    fiveStarLaoliang  
       1 day ago
    操作系统装完,第一时间记得把 rm 操作 alias ,AI 也无法绕过,避免出现问题无法解救
    4seasons
        7
    4seasons  
       1 day ago
    前两天写了一个 vfs sandox 程序,在程序和文件系统之间加一层 virtual file system ,读操作直接读真实文件,写操作都在 vfs 上进行,退出时可以将 vfs 上的文件全部取回,可以很好的解决这类问题。

    github.com/seamory/vfs-sandbox
    ntdll
        8
    ntdll  
       1 day ago
    通常来说建议把这类工具装到 docker 里,通过 docker run --rm -it -v my_project:/workspace hermes bash

    这样来执行,至少我一直是这样,这样我可以放心的 bypass permission ,同时我也不关注本地的代码状态,它修改完成后,都要求在 GitHub 或者其他你自己信任的平台上提 PR ,我可以很方便的 review ,哪怕不用人工,交给另一个 agent 来 review 也很方面,本身 GitHub 提供了丰富的命令行工具可以给只读权限来 review ,也可以直接让他在 pr 里 comment
    yidinghe
        9
    yidinghe  
    PRO
       1 day ago via Android
    首先你这个模型智商太拉胯了,虽然你没说具体是哪个模型,但就表现来看,好不到哪去。

    其次是系统提示词建议把 grill-me 和 karpathy guide 加进去。对没错,不是作为 skill ,而是直接塞进提示词。这样模型就会变得足够谨慎,多做思考,不会乱来。

    当然外围防护也可以做,让 AI 帮你找找有什么合适的工具。
    Cu635
        10
    Cu635  
       1 day ago
    不要用 gitee 等任何国内的 git 服务:

    /t/756791
    /t/956169
    wat4me
        11
    wat4me  
       1 day ago
    什么模型
    LoveXJP
        12
    LoveXJP  
       1 day ago
    将 hook rm -rf 命令改为移到垃圾桶
    charsunny
        13
    charsunny  
       1 day ago
    我的几个项目都放在 GitHub 私有仓库,本地真删了重新 clone 就行。另外在 AGENTS.md 里给它写了几条规矩,像改 Package.swift 这种得先问我。规矩只能算提醒,兜底还是远程仓库,你说的 hook 自动 push 挺好,放 GitHub 就行。
    ffalex
        14
    ffalex  
       1 day ago via Android
    这下真烧心了
    leadfast
        15
    leadfast  
       1 day ago
    模型呢??啥模型倒是说啊
    clacf
        16
    clacf  
    OP
       1 day ago   ❤️ 1
    @leadfast #15 glm 5.3
    rockdodos
        17
    rockdodos  
       1 day ago
    虚拟机加规则限制吧,真怕删了项目目录之外的东西
    zhhqiang
        18
    zhhqiang  
       1 day ago
    在用 5.3flash , 以后还是自己提交 code 。
    l353443703
        19
    l353443703  
       19h 12m ago
    任何删除操作都要手动
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5657 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 08:38 · PVG 16:38 · LAX 01:38 · JFK 04:38
    ♥ Do have faith in what you're doing.