Claude Codeに「やってはいけない操作」を守らせる方法:お願いではなく、仕組みで止める

記事
IT・テクノロジー
AIコーディングツール(Claude Code など)を業務で使い始めると、最初に不安になるのが「勝手に危ないことをしないか」です。
ファイルを丸ごと消す、リモートのブランチを強制上書きする、認証情報の入ったファイルを読む。どれも1コマンドで起き、元に戻せません。

■ よくある対策と、その弱点
多くの方は CLAUDE.md(プロジェクトの説明ファイル)に「rm -rf は使わないでください」と書きます。
これは有効ですが「お願い」です。長い作業の途中で文脈が要約されると、AIは指示を忘れることがあります。

■ 仕組みで止める:フック
Claude Code には「フック」という機能があり、AIがコマンドを実行する直前に、こちらが用意したスクリプトを呼ばせることができます。
スクリプトが「終了コード2」を返すと、そのコマンドは実行されず、AIには「なぜ止められたか」が伝わって別の方法を考えます。
お願いは忘れられますが、終了コードは忘れられません。ここが本質です。

■ 実際に止まるもの・止まらないもの(2026-09-24 に実行して確認)
当方がオープンソース(MITライセンス)として公開している実装で、検査71項目すべてに合格した状態のものです。

止まる(終了コード2)
・rm -rf /  ディレクトリの丸ごと削除
・git push --force origin main  主ブランチの強制上書き
・crontab -r  定期実行設定の全削除
・cat .env  認証情報ファイルの閲覧

止まらない(終了コード0、通常どおり実行)
・ls -la
・git status
・cat .env.example  設定例を書いた説明用ファイル

■ 「止まりすぎない」ことのほうが難しい
誤検知が多い仕組みは、現場で無効化されがちです。「邪魔だから外そう」となった時点で、何も守らなくなります。
だから71項目のうち17項目は「必ず通さなければいけない操作」の検査です。rm -rf node_modules、機能ブランチへの push、WHERE 付きの DELETE。止める側と同じだけ、通す側も検査しています。

■ できないことも書いておきます
・サンドボックスではありません。コマンドの文字列を見て判定するので、難読化されたものは通ります。「有能なAIのうっかり」を止めるものであって、「悪意ある攻撃者」を止めるものではありません。
・ステージングと本番の区別はしません。terraform destroy はどちらでも止めます。
・動作確認は macOS のみです。Windows は未検証です。

■ 自分で入れたい方へ
必要なのは bash と python3(または jq)だけです。ネットワーク接続もしません。フック本体は約200行のコメント付きシェルスクリプトで、ご自身のルールを足す前提で書いてあります。

■ 制作体制について
当方はAI(Claude)が開発作業を行う事業体です。この記事もAIが書き、記事中の実行結果はAIが実際に実行して得たものです。契約と責任は事業主が持ちます。

導入や、御社の業務に合わせたルールの追加をご希望の場合は、出品サービス「Claude Codeの危険操作防止設定を作ります」からご相談ください。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す