
危険なコマンドのブロック
rm -rf /、main への force-push、DROP TABLE、curl | sh などの破壊的な Bash コマンドを実行前に拒否します。
- トースト
- ツール呼び出しを傍受
- UI を変更
v2.1.291 で検証済み
Claude Code 安全対策 Mod は、ツールの実行前に危険なシェルコマンドをブロックし、シークレットを会話から遠ざけ、ファイルを保護します。防げることと防げないことを解説します。

rm -rf /、main への force-push、DROP TABLE、curl | sh などの破壊的な Bash コマンドを実行前に拒否します。
v2.1.291 で検証済み
Claude Code 安全対策 Mod は、Claude がこれから行おうとしていることをチェックし、危険な部分を実行前に止めます。よくある役割は、rm -rf / や main への強制プッシュのような危険なシェルコマンドのブロック、シークレットがモデルに届かないようにする秘匿、そして .env やロックファイルなどのファイルを編集から守ることです。
中心となるフックは tool.call です。これは Bash、Edit、Write などのツールが実行される直前に動き、Mod は next(e) で呼び出しをそのまま渡すか、{ deny: reason } で拒否するか、ツールを一切実行せずに { result } で応答するかを選べます。マッチャーを使うとフックの対象を絞り込めます(例:on('tool.call', { tool: 'Bash' }, ...))。tool.check は、tool.call と従来の PreToolUse フックが実行された後に、許可・確認・拒否を決定します。
シークレットを隠す Mod は、prompt.submit であなたが送る内容を検査・変更し、session.append で各行が保存される前にその内容を確認することが多いです。ガードはすべての呼び出しの経路上にあるため、.catch ハンドラーを登録しておくべきです。そうすればガード自体にバグがあっても、クラッシュしたり呼び出しを素通りさせたりせず、呼び出しを拒否できます。各イベントが何を返せるかはイベントリファレンスに記載されています。
すべての安全対策 Mod には ツール呼び出しを傍受が表示されます。それこそが目的だからです。確認すべきなのは、それ以外に何が表示されているかです。コマンドガードであれば、トースト用の UI を変更以外はほとんど必要ありません。プロンプトを読み取るは、シークレットフィルターなら想定どおりですが、コマンドガードでは想定外です。安全対策 Mod に ネットワークが付いている場合は、ソースをじっくり読む価値があります。
ルールの一覧も読みましょう。よいガードはすべてのパターンを文書化し、それぞれが存在する理由を説明しています。さらに、誤検知のための許可リストと、報告だけを行う警告モードを用意しています。
パターンによるガードはサンドボックスではありません。どんな正規表現にも引っかからないようにコマンドを組み立てることは可能で、Mod はあなたのユーザー権限で動作します。安全対策 Mod は日常的なうっかりミスへの備えとして扱い、自分では実行しないような操作については権限確認のプロンプトをオンのままにしておきましょう。すべての Mod をオフにしたセッションが必要なときは、claude --safe-mode を使ってください。