AI のエージェントは、あなたの認証情報のファイルを読み、トークンを会話に表示し、秘密を探し回ることができます。これは仮の話ではありません。鍵やトークンが漏れれば、アカウントの乗っ取りや、課金の悪用につながります。3つの hook がこれを止めます。
cat ~/.netrc・cat ~/.npmrc・cat ~/.cargo/credentials.toml を実行し、すべてのトークンを会話に表示した。
env | grep token・find /home -name "*.token"・cat ~/.ssh/id_rsa——すべて自動で承認された。
止める cat ~/.netrc cat ~/.npmrc cat ~/.cargo/credentials cat ~/.docker/config.json cat ~/.kube/config
npx cc-safe-setup --install-example credential-file-cat-guard
止める env | grep TOKEN find / -name "*.token" cat ~/.ssh/id_rsa curl --post-file ~/.env
npx cc-safe-setup --install-example credential-exfil-guard
止める ソースに直書きされた API キーやパスワード、git add で混入する秘密
npx cc-safe-setup --install-example hardcoded-secret-detector
npx cc-safe-setup --install-example staged-secret-scan
「鍵やトークンを読むな」という CLAUDE.md のルールはお願いにすぎず、文脈が一杯になれば押し出され、無視されます。さらに自動の承認では、上の#37845のように危険なコマンドが次々と通ってしまいます。hook はプロセスの層で、モデルの判断の外で動きます。実行の直前にコマンドの中身を見て、終了コード2で止めます——モデルはこれを迂回できません。
~/.netrc — HTTP 認証のトークン
~/.npmrc — npm のレジストリのトークン
~/.yarnrc.yml — Yarn のレジストリのトークン
~/.cargo/credentials.toml — Cargo / crates.io のトークン
~/.docker/config.json — Docker のレジストリの認証
~/.kube/config — Kubernetes のクラスタの認証情報
~/.config/gh/hosts.yml — GitHub CLI のトークン
~/.pypirc — PyPI のアップロードのトークン
~/.gem/credentials — RubyGems の API キー
~/.m2/settings.xml — Maven のリポジトリの認証情報
~/.ssh/* — SSH の鍵と設定
~/.aws/credentials — AWS のアクセスキー
~/.env — 環境の秘密
これらの hook は OWASP MCP Top 10 の MCP01: トークンの誤管理と秘密の露出 に対応します。cc-safe-setup には、OWASP MCP の全リスク区分にまたがる認証情報の保護の hook が20本以上含まれます。
885 の hook · 9,200以上のテスト · GitHub · npm
さらに詳しく: 事故防止の実践ガイド(Zenn) · English version · 全ツール