claude-code-safety-netで安全なAIコーディング:破壊的コマンドを防ぐセーフティネットプラグインの導入ガイド

当ページのリンクには広告が含まれています。

お疲れ様です!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エージェントの暴走を防ぐ仕組み

💡 AIスキルを体系的に習得したい方へ
実践的な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女子 アラ美
settings.jsonだけだと防げないケースがあるんですね。知らなかったです!

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本番運用ガイドも参考にしてください。

IT女子 アラ美
インストールが簡単そうで安心しました!再起動を忘れないようにしないとですね。

ITアライグマ
そうですね。再起動しないと反映されないので、確実に再起動しましょう!

高度な設定: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エージェント開発のデザインパターンについては、コンテキストエンジニアリング入門も参考にしてください。

IT女子 アラ美
Paranoid Modeってかなり厳しそうですね。開発中は使いにくくないですか?

ITアライグマ
通常はデフォルト設定で十分ですね。本番環境のデプロイ作業など、特にリスクが高い場面でParanoidを有効化するのがおすすめです!

ケーススタディ: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に任せても安心」という声が増加

claude-code-safety-net導入効果

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

IT女子 アラ美
ファイル消失が0件になるってすごい効果ですね!

ITアライグマ
ハードな技術的制約の力ですね。ソフトな指示だけでは限界がありますから!

監査ログとシークレット秘匿の活用

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開発
難易度 初心者◎プロンプト作成中心 中級者〜コード記述あり
補助金・給付金 最大70%還元リスキリング補助金対象 最大70%還元教育訓練給付金対象
おすすめ度 S今の仕事に活かすなら SAIエンジニアになるなら
公式サイト 詳細を見る 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・AIを活用したいならDMM一択!逆に、AIそのものを作るエンジニアに転身したいならAidemyで基礎から学ぶのが最強の近道ですよ。

まとめ

claude-code-safety-netを活用した安全なAIコーディングのポイントを振り返りましょう。

  • なぜ必要か:CLAUDE.mdやsettings.jsonのソフトな制約では、破壊的コマンドを完全には防げない
  • 導入方法:/plugin marketplaceコマンドで簡単にインストール可能
  • 設定オプション:Strict Mode(解析不能コマンドをブロック)とParanoid Mode(より厳格なチェック)を用途に応じて使い分ける
  • 監査ログ:ブロックされたコマンドを記録し、チームでのセキュリティ改善に活用

AIエージェントを本番環境で活用するなら、ハードな技術的制約は必須です。claude-code-safety-netを導入して、安心してAIコーディングに取り組んでください。

IT女子 アラ美
これでAIに任せても安心して開発できそうです!

ITアライグマ
ぜひ導入して、安全なAI活用を楽しんでくださいね!

厳しめIT女子 アラ美による解説ショート動画はこちら

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次