お疲れ様です!IT業界で働くアライグマです!
Claude Codeを使っていると、AIエージェントが予期せず破壊的なコマンドを実行してしまうリスクが気になったことはありませんか?
「AIに任せていたら、いつの間にかファイルが消えていた」「git reset –hardで作業内容が吹き飛んだ」──こうした事故は、CLAUDE.mdやAGENTS.mdでのルール指定だけでは完全に防げません。
そこで注目したいのが、claude-code-safety-netというプラグインです。このツールはClaude Code用のセーフティネットとして機能し、rm -rfやgit checkout –などの破壊的コマンドを実行前にブロックしてくれます。
本記事では、claude-code-safety-netの導入方法・設定・活用パターンを実践的に解説します。
claude-code-safety-netとは:AIエージェントの暴走を防ぐ仕組み
claude-code-safety-netは、Claude Codeのフック機能を活用したセーフティネットプラグインです。破壊的なgitコマンドやファイルシステム操作をリアルタイムで検知し、実行前にブロックします。
なぜこのプラグインが必要なのか
AIエージェントに対する「指示ベースの制約」は、意外と脆弱です。CLAUDE.mdで「ファイルを削除しないで」と書いても、AIはその指示を忘れたり無視したりすることがあります。
実際にRedditで報告された事例では、Claude CodeがユーザーのホームディレクトリをまるごとRM -rfで消し去ったケースがあります。こうした事故は、ソフトな指示ではなくハードな技術的制約でしか防げません。
settings.jsonのdenyルールでは不十分な理由
Claude Codeには設定ファイルでdenyルールを書く機能がありますが、これは単純なプレフィックスマッチングに過ぎません。
- Bash(git checkout)と書くと、git checkout -b new-branch(安全)もブロックされてしまう
- Bash(rm -rf)と書いても、rm -r -fや sh -c “rm -rf /” は通過する
- python -c ‘os.system(“rm -rf /”)’のようなインタープリタ経由の攻撃も検知できない
claude-code-safety-netはセマンティックなコマンド解析を行い、引数の組み合わせやシェルラッパーの再帰解析、安全な操作(tmpディレクトリ内、cwd内)と危険な操作の区別が可能です。
Cursor + ローカルLLMの環境構築については、Cursor + ローカルLLM環境構築ガイドも参考にしてください。
IT女子 アラ美claude-code-safety-netのインストールと基本設定
実際にclaude-code-safety-netを導入してみましょう。インストールは非常にシンプルです。
インストール手順
Claude Codeのコマンドパレットから、以下のコマンドを実行します。
/plugin marketplace add kenryu42/cc-marketplace
/plugin install safety-net@cc-marketplace
インストール後は、Claude Codeを再起動する必要があります。
自動アップデートの設定
セキュリティ関連のプラグインは常に最新版を使いたいもの。自動アップデートを有効にしておきましょう。
/plugin
# Marketplacesを選択
# cc-marketplaceを選択
# Enable auto-updateを有効化
動作確認
インストールが正しく完了しているか確認するため、わざと危険なコマンドを試してみます(実際には実行されません)。
# これらのコマンドはブロックされます
rm -rf ~/
git reset --hard
git checkout -- important_file.py
ブロックされた場合は、警告メッセージが表示され、コマンドは実行されません。
Amazon Bedrock AgentCoreでのAIエージェント運用については、Amazon Bedrock AgentCore本番運用ガイドも参考にしてください。



高度な設定:Strict ModeとParanoid Mode
claude-code-safety-netには、用途に応じた複数のセーフティレベルがあります。
Strict Mode:パースできないコマンドをブロック
デフォルトでは、解析できないコマンドは通過します。より安全にしたい場合は、Strict Modeを有効にしましょう。
export SAFETY_NET_STRICT=1
Strict Modeでは、以下のケースでコマンドがブロックされます。
- 無効なJSON入力
- 閉じられていないクォート
- 不正なbash -cラッパー
Paranoid Mode:より厳格なチェック
さらに厳しいセキュリティが必要な場合は、Paranoid Modeを有効化します。
# 全てのパラノイドチェックを有効化
export SAFETY_NET_PARANOID=1
# または特定のチェックのみ有効化
export SAFETY_NET_PARANOID_RM=1 # rmコマンドの厳格チェック
export SAFETY_NET_PARANOID_INTERPRETERS=1 # インタープリタワンライナーをブロック
Paranoid Modeでは以下がブロックされます。
- rm -rf:作業ディレクトリ内でも、tmpディレクトリ以外はブロック
- python -c / node -e / ruby -e / perl -e:インタープリタ経由のワンライナーをブロック
シェルラッパー検知とインタープリタ検知
claude-code-safety-netは、シェルでラップされたコマンドも再帰的に解析します。
# これらもブロックされる
bash -c 'git reset --hard'
sh -lc 'rm -rf /'
python -c 'import os; os.system("rm -rf /")'
AIエージェント開発のデザインパターンについては、コンテキストエンジニアリング入門も参考にしてください。



ケーススタディ:AIコーディング環境でのセーフティネット導入
実際にclaude-code-safety-netを導入して運用した事例を紹介します。
状況(Before)
開発チーム(5名)がClaude Codeを活用してReactプロジェクトを開発。しかし、以下の事故が発生しました。
- git checkout — によるファイル消失:未コミットの変更が30分間分消失
- rm -rf node_modules/ の誤実行:意図せずプロジェクト外のディレクトリまで削除
- git reset –hard による巻き戻り:2時間分の作業がロスト
これらの事故により、週に平均2時間の作業ロスが発生していました。
行動(Action)
チームはclaude-code-safety-netを導入し、以下の設定に変更しました。
# チーム共通の環境変数設定(.bashrcまたは.zshrcに追加)
export SAFETY_NET_STRICT=1
export SAFETY_NET_PARANOID_RM=1
さらに、監査ログを有効にして、ブロックされたコマンドを記録するように設定しました。ログは~/.cc-safety-net/logs/に自動保存されます。
結果(After)
導入から1ヶ月後の結果は以下の通りです。
- ファイル消失事故:月5件 → 0件(100%削減)
- 作業ロス時間:週2時間 → ほぼ0
- チームの心理的安全性:「AIに任せても安心」という声が増加


ローカルLLMの活用については、ローカルLLMセットアップガイドも参考にしてください。



監査ログとシークレット秘匿の活用
claude-code-safety-netには、セキュリティ監査に役立つ機能も備わっています。
監査ログの確認方法
ブロックされたコマンドは、すべてJSONL形式でログに記録されます。
# ログの確認
cat ~/.cc-safety-net/logs/.jsonl
# ログの内容例
{
"ts": "2025-01-15T10:30:00Z",
"command": "git reset --hard",
"segment": "git reset --hard",
"reason": "...",
"cwd": "/path/to/project"
}
シークレット秘匿機能
ブロックメッセージやログには、機密情報が含まれている可能性があります。claude-code-safety-netは自動的に以下を秘匿処理します。
- APIキー:環境変数やコマンドライン引数に含まれるトークン
- パスワード:認証情報
- シークレットトークン:各種サービスの認証トークン
これにより、ログを安全に保存・共有できます。
チーム運用での活用パターン
- 週次レビュー:ブロックログを確認し、危険なパターンを特定
- オンボーディング:新メンバーにログを共有し、危険なコマンドの例を学習
- ポリシー策定:ログを分析し、追加の制約ルールを検討
GPTの特殊トークンについては、GPT特殊トークンとプロンプト最適化も参考にしてください。
本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。
| 比較項目 | DMM 生成AI CAMP | Aidemy Premium |
|---|---|---|
| 目的・ゴール | ビジネス活用・効率化非エンジニア向け | エンジニア転身・E資格Python/AI開発 |
| 難易度 | プロンプト作成中心 | コード記述あり |
| 補助金・給付金 | リスキリング補助金対象 | 教育訓練給付金対象 |
| おすすめ度 | 今の仕事に活かすなら | AIエンジニアになるなら |
| 公式サイト | 詳細を見る | 詳細を見る |



まとめ
claude-code-safety-netを活用した安全なAIコーディングのポイントを振り返りましょう。
- なぜ必要か:CLAUDE.mdやsettings.jsonのソフトな制約では、破壊的コマンドを完全には防げない
- 導入方法:/plugin marketplaceコマンドで簡単にインストール可能
- 設定オプション:Strict Mode(解析不能コマンドをブロック)とParanoid Mode(より厳格なチェック)を用途に応じて使い分ける
- 監査ログ:ブロックされたコマンドを記録し、チームでのセキュリティ改善に活用
AIエージェントを本番環境で活用するなら、ハードな技術的制約は必須です。claude-code-safety-netを導入して、安心してAIコーディングに取り組んでください。












