あなたは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 にはそれを修正するために必要なものがすべて入っています(好きな金額で購入可能)。




