Claude Codeのフックが実際にあなたのルールを強制します。7つのスタンドアロンフック、さらにCLAUDE.mdポリシーのためのenforce-hooks、監査ツール、1,900以上のテスト、そして重大度評価と回避策が含まれた検索可能なClaude Codeギャップコーパスを備えています。
クイックリンク: セットアップを確認 · フックをインストール · 既知の制限 · JSONエクスポート · クイックスタート · トリアージ · 更新チェックリスト · 安全なサポートの証拠 · サポート例 · 読み取り専用監査 · 個別フック · プラットフォームサポート · 推奨Claude Codeバージョン · トラブルシューティング · Boucleフレームワーク(オプション、自律エージェント向け)
Claude CodeのCLAUDE.mdルールは読み込まれるが強制されない — セッション開始時に機能するが、コンテキストが大きくなるにつれて劣化する。その権限システムには既知のギャップがある — ワイルドカードは複合コマンドに一致せず、拒否ルールはパイプセグメントをチェックせず、複数行コメントでバイパスできる。これらのフックは、テキストルールと権限ではできない境界を強制します。
フックが危険なコマンドをブロックした場合:``` Claude tries: rm -rf ~/projects bash-guard: bash-guard: rm -rf targeting a critical system path. This would cause irreversible data loss. Claude sees: ⚠ Hook blocked this action. Suggesting safer alternative...
プロンプトは表示されず、「本当によろしいですか?」といったダイアログも表示されません。コマンドは実行されません。
<a id="check-your-setup"></a>
**現在のセットアップを確認してください:**```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
同じプロジェクトルートからClaude Codeを起動してください。プロジェクトフックはカレントディレクトリから解決されるため、サブディレクトリから起動するとリポジトリルートの.claude/settings.jsonを見逃す可能性があります。既にgitチェックアウト内にいる場合は:
git checkout:```sh
cd "$(git rev-parse --show-toplevel)"
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
Scores your Claude Code safety configuration from A to F and shows one-liner fixes for each gap. Add `--verify` to send test payloads to each hook and confirm they actually block:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash -s -- --verify
CIまたはスクリプト化されたワークステーションチェックの場合、検証でFAIL-OPENフック、壊れたフックファイル、スキップされたPreToolUseチェック、フックがない、またはペイロードチェックがないときに失敗します:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash -s -- --verify --strict
[スクリプト化されたチェックガイド](https://github.com/bande-a-bonnot/boucle-framework/blob/main/tools/safety-check/CI.md)を参照してください。GitHub Actions、開発者ワークステーションのチェック、終了コード、CIが証明できる限界について説明しています。
フックのインストール、フックの健全性(スクリプトの欠落/実行不可)、ライブ検証(`rm -rf /`をbash-guardに送信、`git push --force`をgit-safeに送信など、ブロックされることを確認)、enforce-hooksおよびCLAUDE.mdの`@enforced`ルール、環境問題(IS_DEMO、JSONC設定、jq/python3の依存関係、Windowsフックの信頼性)、既知のCLIバージョンのリグレッションをチェックします。ユーザーレベル(`~/.claude/settings.json`)とプロジェクトレベル(`.claude/settings.json`)の両方の設定をスキャンし、フックインベントリではカスタム/サードパーティフックをフレームワークフックと一緒に表示します。サマリーは8個のフレームワークフックスロットをカウントします。これは`enforce-hooks`ポリシーフックを含むためです。`install.sh all`は以下にリストされている7個のスタンドアロンフックをインストールします。また、denyルールがbash-guardなしで設定されている場合に警告します。denyパターンは複合コマンドや複数行スクリプトによって[バイパスされる可能性がある](https://github.com/anthropics/claude-code/issues/38119)ためです。監査にはフックのインストールは必要ありません。何百ものテストでカバーされています。
監査から検証済みフックへの10分間のパスについては、[safety-checkクイックスタート](https://github.com/bande-a-bonnot/boucle-framework/blob/main/tools/safety-check/QUICKSTART.md)を参照してください。
助けが必要な場合は、[安全なサポートエビデンスガイド](https://github.com/bande-a-bonnot/boucle-framework/blob/main/tools/safety-check/SUPPORT_EVIDENCE.md)を使用して、プライベート設定やシークレットを公開せずにサマリーブロックを共有してください。その境界のある公開ブロックのみを印刷するには、以下を実行します:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash -s -- --verify --summary-only
安全な公開レポートや避けるべき安全でないスニペットの例については、 safe support examples を参照してください。
アップストリームのClaude Codeフックとパーミッションのギャップについては、 検索可能な制限ページ、 機械可読JSONエクスポート、 または Atomフィード を使用してください。
macOS / Linuxの要件: bash、python3、jq。インストーラーはpython3を使用してClaude Code settings.json を管理し、safety-checkは監査のためにpython3を使用し、ほとんどのスタンドアロンシェルフックはjqを使用してClaude Codeフックペイロードを解析します。
基本から始める (bash-guard + git-safe + file-guard):```sh curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- recommended
これらの3つのフックは、すべてのClaude Codeユーザーが持つべきセーフティネットを形成します: 危険なコマンドをブロックし、破壊的なgit操作を防ぎ、機密ファイルを保護します。インストール後、上記のセーフティチェックを`--verify`付きで実行し、各フックが意図した通りにブロックすることを確認してください。
**インストールが成功したがフックが何もブロックしない場合:**
- まずmacOS/Linuxでは`install.sh check --verify --strict`を実行してください(ネイティブWindowsでは`install.ps1 verify`)。クリーンインストールはフックが動作している証拠にはなりません。
- 次に`install.sh doctor`を実行してください(Windowsでは`install.ps1 doctor`)。これにより、ファイルの欠落、不正な権限、`settings.json`内のJSONC、その他のサイレントなフェイルオープン状態をキャッチします。
- Windowsでは、Windows PowerShell 5ではなくPowerShell 7(`pwsh`)を使用してください。
- カスタム拒否フックを作成する場合は、ハードブロックには`stderr` + `exit 2`を推奨します。JSONの`permissionDecision: "deny"`は、Claude Codeの各画面でまだ一貫性がありません。
**すべてのフックを一度にインストール:**```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- all
Windows (PowerShell 7+) — ネイティブの PS1 フック、bash や jq は不要。PowerShell 7 (pwsh) が必要で、ビルトインの Windows PowerShell 5 では動作しません。まずは同じ推奨安全設定から始めてください:```powershell
iex "& { $(irm https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.ps1) } recommended"
または、すべてのスタンドアロンフックを一度にインストールします:```powershell
iex "& { $(irm https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.ps1) } all"
フックを管理:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- list
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- verify
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- upgrade
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- uninstall read-once
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- uninstall all
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- backup