Safety Guard — 防止破坏性操作¶
使用时机¶
- 在生产系统上工作时
- Agent 自主运行时(全自动模式)
- 需要限制对特定目录的编辑时
- 执行敏感操作时(迁移、部署、数据变更)
工作原理¶
有 3 种保护模式:
模式 1:Careful 模式¶
在执行前检测破坏性命令并发出警告:
監視するパターン:
- rm -rf(特に /、~、またはプロジェクトルート)
- git push --force
- git reset --hard
- git checkout .(全変更を破棄)
- DROP TABLE / DROP DATABASE
- docker system prune
- kubectl delete
- chmod 777
- sudo rm
- npm publish(誤公開)
- --no-verify を含む全コマンド
检测到后:显示命令内容,请求确认,并提示更安全的替代方案。
模式 2:Freeze 模式¶
锁定对特定目录树的文件编辑:
对 src/components/ 外部的 Write/Edit 操作将附带说明并被阻止。当希望让 Agent 专注于特定区域,避免触碰无关代码时,此模式非常有用。
模式 3:Guard 模式(Careful + Freeze 的组合)¶
两种保护同时启用。这是为自主 Agent 提供的最高安全模式。
Agent 可以读取所有内容,但只能写入 src/api/。破坏性命令在任何位置都会被阻止。
解除锁定¶
实现¶
使用 PreToolUse 钩子检测 Bash、Write、Edit、MultiEdit 工具调用。在执行前,根据当前生效的规则检查命令/路径。
集成¶
- 在
codex -a never会话中默认启用 - 与 ECC 2.0 的可观测性风险评分结合使用
- 将所有被阻止的操作记录到
~/.claude/safety-guard.log
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC