clacf
V2EX  ›  问与答

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

  •  
  •   clacf · 9h 40m ago · 1967 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  ·  7h 25m ago
    他也诚实承认是自己判断错误,AI 出故障,连个背锅的都没有。https://i.ibb.co/c0dXg6V/image.png
    18 replies  •  2026-10-13 14:53:49 +08:00
    Tiande
        1
    Tiande  
       9h 36m ago   ❤️ 1
    记忆里有错误惯例,那说明是你教的?

    正规流程不立住,AI 跑起来也烧心。
    TomatoCLI
        2
    TomatoCLI  
       9h 35m ago
    只能虚拟机+备份咯。另外也不一定是你自己教的导致的,某些时候 ai 自己不知道咋回事写的。。。
    clacf
        3
    clacf  
    OP
       9h 33m ago
    @Tiande #1 我都忘了,应该是让她先删除 project 下面的子目录的
    NewtonLeibniz
        4
    NewtonLeibniz  
       9h 24m 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  
       9h 17m ago
    既然 AI 说了“我可能随时发神经”,那你给它讲任何事都得防着它抽风呐
    fiveStarLaoliang
        6
    fiveStarLaoliang  
       8h 57m ago
    操作系统装完,第一时间记得把 rm 操作 alias ,AI 也无法绕过,避免出现问题无法解救
    4seasons
        7
    4seasons  
       8h 16m ago
    前两天写了一个 vfs sandox 程序,在程序和文件系统之间加一层 virtual file system ,读操作直接读真实文件,写操作都在 vfs 上进行,退出时可以将 vfs 上的文件全部取回,可以很好的解决这类问题。

    github.com/seamory/vfs-sandbox
    ntdll
        8
    ntdll  
       8h 11m 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
       8h 8m ago via Android
    首先你这个模型智商太拉胯了,虽然你没说具体是哪个模型,但就表现来看,好不到哪去。

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

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

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