Claude Codeの安全性を5分で:初心者のための完全ガイド

Dev.to / 2026/4/9

📰 ニュースTools & Practical Usage

要点

  • ターミナルへのフルアクセスを持つClaude Codeは重大な損害につながり得ると警告し、ユーザーのディレクトリを削除すること、ドットファイルを上書きすること、mainへの意図しない強制プッシュを行うことなど、実際のGitHubの問題を例に挙げています。

あなたはClaude Codeにターミナルへのフルアクセス権を与えました。つまり、あらゆるコマンドを実行でき、あらゆるファイルを編集でき、あらゆるブランチにプッシュできます。

何がまずいのでしょうか?

実際には、かなりあります。 あるユーザーはC:\Usersディレクトリ全体を失いました。別のユーザーは.bashrcが上書きされました。さらに別の誰かは、午前3時にClaudeがmainへフォースプッシュするのを目撃しました。

これは単なる仮想の話ではありません。GitHub Issuesとして実際に起きています。

それらをすべて5分で防ぐ方法は以下です。

ステップ 1: セーフティフックをインストール(30秒)

npx cc-safe-setup

それだけです。1つのコマンドで、危険なコマンドを実行される前に遮断する8つのフックをインストールします:

フック ブロックするもの
destructive-guard rm -rf /, git reset --hard, git clean -fd
branch-guard main/masterへのプッシュ、フォースプッシュ
secret-guard git add .env, 認証情報ファイル
syntax-check 編集後の壊れたPython/JS/JSONを検出
context-monitor コンテキストウィンドウが埋まりそうなときに警告
comment-strip bashのコメントが権限を壊す問題を修正
cd-git-allow 安全なcd && git logの複合を自動承認
api-error-alert APIエラーでセッションが死んだときに通知

ステップ 2: 動作確認(30秒)

npx cc-safe-setup --verify

各フックにテスト入力を送って、正しく遮断されることを確認します:

destructive-guard:
  ✓ rm -rf / → BLOCKED
  ✓ rm -rf node_modules → ALLOWED
branch-guard:
  ✓ git push origin main → BLOCKED
  ✓ git push origin feature → ALLOWED
...
8/8 hooks verified

ステップ 3: 設定の健全性を確認(30秒)

npx cc-safe-setup --quickfix

よくある問題を自動検出して修正します:

  • jqがない(JSON解析にフックが必要です)
  • ファイル権限が壊れている
  • 無効なsettings.json
  • シバン(shebang)行がない
  • 壊れたフック参照

ステップ 4: スタックに合わせてフックを追加(2分)

330以上の例のフックをブラウズ:

npx cc-safe-setup --examples

名前で任意のものをインストール:

# データベースを使っている場合
npx cc-safe-setup --install-example block-database-wipe

# Dockerを使っている場合
npx cc-safe-setup --install-example auto-approve-docker

# デプロイする場合
npx cc-safe-setup --install-example deploy-guard

# スコープクリープを防ぎたい場合
npx cc-safe-setup --install-example scope-guard

あるいは、平易な英語からカスタムフックを生成できます:

npx cc-safe-setup --create "block npm publish without running tests first"

ステップ 5: 監視(任意、1分)

安全性ダッシュボードを確認:

npx cc-safe-setup --dashboard

何がブロックされたかを確認:

npx cc-safe-setup --stats

フックが実際にどう動くか

Claude Codeには、特定のライフサイクルのタイミングでシェルスクリプトを実行するフックの仕組みがあります:

  • PreToolUse — どのツールが動く前にも(Bash、編集、書き込み)
  • PostToolUse — ツールの実行後
  • Stop — Claudeが応答を終えたとき

コード2で終了するフックはアクションをブロックします。モデルはこの制約を回避できません。これはプロンプトレベルではなく、プロセスレベルで強制されます。

これはCLAUDE.mdのルールとの重要な違いです:ルールはコンテキストが埋まるにつれて劣化します。フックは毎回実行されます。

# フックがどんなものか(簡略版)
#!/bin/bash
COMMAND=$(cat | jq -r '.tool_input.command // empty')
if echo "$COMMAND" | grep -qE 'rm\s+.*-rf\s+/'; then
  echo "BLOCKED: rm -rf on root directory" >&2
  exit 2  # Block the action
fi
exit 0  # Allow the action

よくある質問

Q: フックはClaude Codeを遅くしますか?
いいえ。各フックは約5msで動作します。体感では分からないでしょう。

Q: Claudeはフックを無効化できますか?
いいえ。フックはモデルではなくClaude Codeランタイムによって強制されます。たとえClaudeがsettings.jsonを編集しようとしても、protect-claudemdフックがそれもブロックできます。

Q: CLAUDE.mdはどうですか?それだけで十分では?
CLAUDE.mdのルールはセッション開始時にはうまく機能します。しかしコンテキストが埋まっていくにつれて(100回以上のツール呼び出しの後)、Claudeは徐々にそれらを「忘れ」ます。フックは決して忘れません。

Q: TypeScript/Pythonを使っています。これら用のフックはありますか?
はい。cc-hook-registryを見てください。TypeScriptやPythonの実装を含む7つの異なるプロジェクトからのフックを索引化しています。

今すぐ試す

npx cc-safe-setup --shield

1つのコマンド。30秒。あなたの自律的なClaude Codeセッションは、最もよくある致命的な事故から今すぐ保護されます。

インタラクティブなプレイグラウンドフックに対してコマンドをテスト — 任意のコマンドを入力して、どのフックが発火するかを確認します。

完全なフック登録簿349件以上のフックを閲覧(7つのプロジェクトから)。

あなたのClaude Codeのセットアップは本当に安全ですか? npx cc-health-check を実行してください — 無料の20ポイント診断です。80未満のスコアでしたか? Ops Kit にはそれを修正するために必要なものがすべて入っています(好きな金額で購入可能)。