安全護衛 — 防止破壞性操作
使用時機
- 在生產系統上工作時
- 代理自主運行時(全自動模式)
- 想要限制編輯到特定目錄時
- 敏感操作期間(遷移、部署、數據更改)
運作方式
三種保護模式:
模式 1:小心模式
在執行前攔截破壞性命令並發出警告:
監控的模式:
- 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:凍結模式
將文件編輯鎖定到特定目錄樹:
/safety-guard freeze src/components/
任何在 src/components/ 之外的寫入/編輯都會被阻止並附上解釋。當你想要代理專注於某個區域而不觸摸無關代碼時很有用。
模式 3:守衛模式(小心 + 凍結組合)
同時啟用兩種保護。自主代理的最大安全性。
/safety-guard guard --dir src/api/ --allow-read-all
代理可以讀取任何內容,但只能寫入 src/api/。所有地方的破壞性命令都會被阻止。
解鎖
/safety-guard off
實現
使用 PreToolUse 鉤子來攔截 Bash、Write、Edit 和 MultiEdit 工具調用。在允許執行之前,根據活動規則檢查命令/路徑。
整合
- 默認啟用於
codex -a never會話 - 與 ECC 2.0 中的可觀測性風險評分配對
- 將所有被阻止的操作記錄到
~/.claude/safety-guard.log