セーフティガード — 破壊的な操作を防止する
使用すべきタイミング
- 本番システムで作業する場合
- エージェントが自律実行されている場合(全自動モード)
- 特定のディレクトリへの編集を制限したい場合
- 機密性の高い操作(マイグレーション、デプロイ、データ変更)の最中
仕組み
3つの保護モード:
モード 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に記録