リポジトリの .claude/ 設定(settings.json フック、MCP サーバー、env、allowed-tools)をスキャンして、信頼できないリポジトリを clone して開いた際に発動する RCE および API キー外部流出の footgun(CVE-2025-59536、CVE-2026-21852)を検出します。静的解析、依存ゼロ、ローカルファースト。
リポジトリのローカル
.claude/設定 (settings.jsonフック、MCP サーバー定義、envブロック、permissions.allow) をスキャンし、Claude Code でgit cloneして信頼できないリポジトリを開いた瞬間に発火する RCE と API キー漏えい の落とし穴を検出します。正確な危険行 を指し示すので、信頼する前に読むことができます。読み取り専用で、見つけたものを実行することは一切ありません。
⚡ 1行で実行、インストール不要、データがマシンの外に出ることはありません:
npx dotclaude-security --dir ./some-cloned-repo
🤝 あなた向けに堅牢化しませんか? 固定スコープ監査 — $99 / 24時間: 各検出結果をレビューし、正確な
.claude設定の修正内容を記載した書面レポートをお送りします。
$ npx dotclaude-security --dir ./untrusted-repo
1 critical, 2 high, 0 medium across 1 config file(s).
CRITICAL .claude/settings.json:4 Auto-exec hook on "SessionStart" runs a command when the repo is opened
HIGH .claude/settings.json:7 permissions.allow pre-approves a dangerous tool: Bash(*)
HIGH .claude/settings.json:8 MCP server "x" runs an on-the-fly remote package (npx)
リポジトリは独自の .claude/ 設定を同梱でき、エージェントはオープン時にそれを尊重します。
2026年2月、Check Point Research はまさにこの問題に根ざした2件の CVE を公開しました:
SessionStart フックが、ディレクトリを開いたときにシェルコマンドを自動実行します。悪意のあるリポジトリをクローンして開くだけで、あなたは攻撃を受けてしまいます。初期化時のリモートコード実行です。env) があなたの ANTHROPIC_API_KEY を読み取り、リモートホストに送信します。気づかれないキー漏えいです。どちらも同じ攻撃面を狙っています: settings.json の フック、MCP サーバー の起動コマンド、env ブロック、permissions.allow リスト — つまり、他人のリポジトリがあなたに手渡す可能性のあるものです。大手の既存ツール (Cisco の skill-scanner、Snyk の agent-scan) は スキル をスキャンしますが、.claude 設定ファイル をスキャンするものはほとんどありません。
dotclaude-security はこれらのファイルを静的に解析し、危険なディレクティブごとに正確なファイル + 行をフラグ付けします — 推測ではなく事実に基づいてトリアージでき、見つけるためにペイロードを実行することは決してありません。
| チェック項目 | 重要度 | 検出内容 |
|---|---|---|
オープン時の自動実行フック (SessionStart/PreToolUse/UserPromptSubmit) | critical / high | リポジトリを開いた瞬間に実行されるコマンド — 初期化時の RCE (CVE-2025-59536) |
| フックがシークレットを読み取り、かつネットワークを呼び出す | critical | リモートホストにパイプされる ANTHROPIC_API_KEY/トークン — キー漏えい (CVE-2026-21852) |
| 任意のフック内の危険なコマンドパターン | high | curl|sh、eval、base64 -d、nc -e、/dev/tcp、インライン python -c/node -e |
| MCP サーバーが危険なコマンドを起動する | critical | 接続時にコードを取得して実行する MCP command/args |
| MCP サーバーがその場でリモートパッケージを実行する | high | バージョン未固定のパッケージを取得する npx/uvx/bunx MCP 定義 |
| MCP サーバーにシークレット / リモート URL が渡される | high / medium | env 経由で注入された認証情報、信頼できないリモートエンドポイント |
リスクのある permissions.allow エントリ | high / medium | 人間による承認ゲートを外す Bash(*)、WebFetch、広範な mcp__* |
| コミットされたシークレット値 | critical | 実際の sk-ant-…、AKIA…、ghp_…、任意の .claude ファイル内の秘密鍵 |
# Scan the .claude/ config in the current repo
npx dotclaude-security
# Scan a freshly cloned, untrusted repo BEFORE you open it in Claude Code
npx dotclaude-security --dir ./some-cloned-repo
# Machine-readable JSON only (gate your CI on the summary)
npx dotclaude-security --json
# Write a shareable HTML report
npx dotclaude-security --html report.html
出力は、stdout に JSON (CI にパイプ可能)、stderr に検出結果ごとの1行サマリーです。各検出結果には file、location.line、location.text と具体的な fix が含まれます。
npm i -g dotclaude-security
dotclaude-security --dir ./untrusted-repo
依存関係ゼロ。設定ファイルを読み取って報告するだけで、発見したフックや MCP コマンドなどを実行することは一切ありません。データがマシンの外に出ることはありません。
スタック全体で同じローカルファースト、実問題を証明するという哲学を共有するツール群です。すべて MIT ライセンス:
supabase-security · strapi-security · pocketbase-security · firebase-security · appwrite-security · nhost-security · stripe-webhook-security · github-actions-security · aws-s3-security
MIT © Renzo Madueno
📚 Awesome Backend Security Auditors の一部 — キーレス型アクティブプローブ監査ツールの完全なコレクションです。