Shannon とは何か
Shannon は、KeygraphHQ が開発した完全自律型の AI ペネトレーションテストツールだ。従来のスキャナーが「脆弱性の可能性」を報告するのに対し、Shannon は実際にエクスプロイトを実行し、再現可能な PoC(概念実証)付きで報告する。
コマンド一つで起動し、認証処理(2FA/TOTP を含む)からブラウザ操作、レポート生成まで人手を介さず完了する。XBOW Benchmark で 96.15% の成功率を記録し、GitHub では 16,500 以上のスターを獲得している。

「No Exploit, No Report」— 証拠ベースの脆弱性検出
Shannon の最大の特徴は Proof-by-Exploitation(実証による証明) というアプローチだ。
従来のセキュリティスキャナーは、パターンマッチやシグネチャベースで「脆弱性の疑いがある箇所」を大量に報告する。結果として誤検知(False Positive)が多発し、開発チームのトリアージ工数が膨大になることが課題だった。
しかし、Shannon はこの問題を根本から解決する。
- ソースコード解析で攻撃対象を特定
- 実際にブラウザや CLI で攻撃を実行
- エクスプロイトに成功した場合のみレポートに記載
- 再現手順をコピー&ペースト可能な形式で提供
つまり、レポートに載った脆弱性はすべて「実際に突破できた」ものであり、誤検知がゼロに近い。Help Net Security は 2026年2月の記事で「Open-source AI pentesting tools are getting uncomfortably good(OSS の AI ペンテストツールが不気味なほど優秀になってきた)」と評している。
従来ツールとの比較
Shannon の立ち位置を明確にするため、代表的なセキュリティツールと比較する。
| 観点 | OWASP ZAP | Burp Suite | SonarQube | Snyk | Shannon |
|---|---|---|---|---|---|
| 検出方式 | シグネチャ | ファジング+手動 | AST ルール | CVE DB | LLM コード解析 |
| 検証方法 | レスポンス分析 | プロキシ検査 | 静的のみ | CVE 照合 | 実エクスプロイト |
| 誤検知率 | 高(40-60%) | 中(20-30%) | 高(30-50%) | 低(5-10%) | 極低(<5%) |
| ソースコード | 不要 | 不要 | 必要 | 依存関係のみ | 必要(ホワイトボックス) |
| 実行時間 | 15-30 分 | 数時間(手動含む) | 2-5 分 | 30 秒 | 60-90 分 |
| 認証フロー対応 | 基本のみ | 手動設定 | N/A | N/A | TOTP/2FA/OAuth |
特に注目すべきは誤検知率の差だ。ZAP が OWASP Juice Shop に対して 150 以上のアラートを出すのに対し、Shannon は 20 件超の脆弱性を報告する。そしてその 20 件はすべて実際に突破できたものだ。開発チームのトリアージ工数は桁違いに変わる。
4 フェーズのアーキテクチャ
Shannon は Anthropic の Agent SDK をベースに構築されたマルチエージェントシステムで、以下の 4 フェーズで動作する。
Phase 1: 偵察(Reconnaissance)
ソースコード解析と外部ツール(Nmap、Subfinder、WhatWeb、Schemathesis)を組み合わせ、攻撃対象のサーフェスをマッピングする。ソースコードを読むことで、UI に表示されない隠しエンドポイントやデバッグ用パスも特定できる。
Phase 2: 脆弱性分析(Vulnerability Analysis)
OWASP カテゴリごとに並列で専門エージェントが動作し、データフロー解析を通じて脆弱性候補を特定する。現在対応しているカテゴリは以下の 4 種類だ。
| カテゴリ | 検出対象の例 |
|---|---|
| Injection | SQL インジェクション、コマンドインジェクション、SSTI |
| XSS | Reflected / Stored / DOM-based XSS |
| SSRF | サーバサイドリクエストフォージェリ |
| Broken Auth | 認証バイパス、権限昇格、IDOR、JWT アルゴリズム混同 |
ホワイトボックスである利点はここにある。たとえばソースコード上で SELECT * FROM Users WHERE email='${email}' のような文字列補間を見つけると、その入力パラメータを追跡し、サニタイズの有無まで確認したうえでエクスプロイトを構成する。ブラックボックスの総当たりとは精度が違う。
Phase 3: エクスプロイト(Exploitation)
各エージェントがブラウザ自動操作やコマンドライン経由で実際に攻撃を実行する。再現できなかった脆弱性は破棄され、レポートには含まれない。
Phase 4: レポート生成(Reporting)
再現可能な PoC、影響範囲、修正推奨事項を含む包括的なセキュリティ評価レポートを自動生成する。スクリーンショットとログが証拠として添付される。
XBOW Benchmark — 96.15% の文脈
Shannon Lite は XBOW Benchmark のヒントなし・ソースコード参照ありバージョンで 104 問中 100 問を突破し、96.15% を達成した。
ただし、この数字にはいくつか重要な文脈がある。
- Shannon はホワイトボックス(ソースコード参照あり) で評価されている
- XBOW プラットフォーム自体はブラックボックスで 75-85% の成功率
- 人間のトップクラスのペンテスターは 40 時間の作業で約 85%
言い換えれば、ソースコードへのアクセスがあるという条件下での数字だ。それでも、人間が 40 時間かかるところを 1〜1.5 時間で 96% という事実は、ツールの有効性を十分に示している。
実プロジェクトでの検出実績
Shannon は複数のやられアプリ(意図的に脆弱性を仕込んだ学習用アプリ)で実力を実証している。
OWASP Juice Shop
20 件以上の高影響度脆弱性を発見。認証バイパス、SQL インジェクションによるデータベース窃取、権限昇格、IDOR、SSRF を確認。
c{api}tal API
約 15 件の Critical / High 脆弱性を検出。コマンドチェイニングによる root レベルのインジェクション、UI に存在しないレガシーエンドポイント経由の認証バイパス、マスアサインメントによる権限昇格を特定。
OWASP crAPI
15 件以上の Critical / High 脆弱性を発見。JWT アルゴリズム混同攻撃(alg:none を含む)、インジェクションによるデータベース侵害、トークン転送付き SSRF を検出。XSS 防御に対する誤検知はゼロだった。
OWASP Top 10 カバレッジと補完戦略
Shannon が現状カバーしているのは OWASP Top 10(2021)の 4 カテゴリだ。残りはツールの組み合わせで補う必要がある。
| OWASP カテゴリ | Shannon | 補完ツール |
|---|---|---|
| A01: アクセス制御の不備 | 対応 | — |
| A02: 暗号化の失敗 | 一部 | SSL Labs、testssl.sh |
| A03: インジェクション | 対応 | — |
| A04: 安全でない設計 | 一部 | 脅威モデリング(手動) |
| A05: セキュリティの設定ミス | 一部 | Lynis、CIS Benchmarks |
| A06: 脆弱なコンポーネント | 未対応 | Snyk、Trivy |
| A07: 識別と認証の失敗 | 対応 | — |
| A08: ソフトウェアとデータの整合性 | 未対応 | Sigstore、SLSA |
| A09: ログと監視の失敗 | 未対応 | ELK、Splunk |
| A10: SSRF | 対応 | — |
一方で、Shannon は万能ではない。ライブラリの既知脆弱性(Log4Shell 等)やインフラ設定ミスは検出範囲外だ。SAST/SCA と組み合わせることで初めて実効的なセキュリティパイプラインになる。
DevSecOps パイプラインへの組み込み方
Shannon は実際にエクスプロイトを実行するツールであり、本番環境での実行は厳禁だ。推奨される統合ポイントは以下のとおり。
開発 → ユニットテスト → ビルド → SAST/依存関係スキャン →
ステージングデプロイ → 結合テスト → 【Shannon 実行】 →
手動承認 → 本番デプロイ実行環境の要件
- ネットワーク分離: ステージング環境を本番と隔離(専用 VPC またはネットワークポリシー)
- データリセット: スキャン後にデータベースをスナップショットから復元
- 専用テストアカウント: 本番認証情報は絶対に使わない
- 書面による承認: アプリケーションオーナーからの実行許可
Lite でも定期実行はできる
なお、Shannon Pro には GitHub Actions 等との CI/CD 連携が組み込まれているが、Lite でも cron + Docker で週次スキャンを回すことは可能だ。レポートは JSON / Markdown で出力されるので、完了後に Slack Webhook や GitHub Issue に結果を流すスクリプトを組めば、チームへの共有も自動化できる。60〜90 分かかるため PR 単位のゲートには向かないが、週末夜間のバッチ実行なら十分実用的だ。
コスト感
- Shannon Lite: 無料(AGPL-3.0)
- API コスト: 1 回のスキャンで $16〜50(Anthropic Claude API 利用料)
- 実行時間: 中規模アプリで約 60〜90 分
- リソース: Docker 必須、RAM 6GB 以上推奨
週次スキャンで年間 $2,600〜5,000 程度。年 1 回の外部ペネトレーションテスト(200〜500 万円)と比べると、コスト効率は大きく改善する。ただし、Shannon は人間のペンテスターの代替ではなく補完だ。ビジネスロジックの脆弱性や設定ミスは依然として人間の目が必要になる。
Lite と Pro の違い
| Shannon Lite | Shannon Pro | |
|---|---|---|
| ライセンス | AGPL-3.0(OSS) | 商用ライセンス |
| 対象 | セキュリティチーム・研究者 | エンタープライズ |
| コード解析 | 単一ファイル解析 | LLM 駆動のデータフロー解析(複数ファイル横断) |
| CI/CD 連携 | — | GitHub Actions / GitLab CI / Jenkins |
| デプロイ | セルフホスト | クラウド or セルフホスト |
| 推奨規模 | 〜5 万行 | 10 万行以上 |
とはいえ、Lite でも十分な検出力はある。まずは Lite で自社のステージング環境を試し、規模が大きくなったら Pro を検討するのが現実的だ。
注意点と限界
Shannon を導入する前に把握しておくべき制約がある。
- ホワイトボックス専用: ソースコードがなければ動かない。SaaS のセキュリティテストには使えない
- 検出範囲が狭い: OWASP Top 10 のうち 4 カテゴリのみ。ビジネスロジック脆弱性や設定ミスは対象外
- 本番実行不可: 実際にデータを書き換える攻撃を行うため、本番環境では使えない
- LLM の限界: レポートに LLM 由来の不正確な記述が混入する可能性がある。人間によるレビューは必須
- API コスト: 継続的に利用するとトークン消費が積み上がる。コスト管理が必要
- 実験的モデルサポート: Anthropic Claude が推奨。OpenAI/Gemini は実験的で結果が不安定
まとめ
Shannon は「脆弱性を見つけて終わり」ではなく、実際にエクスプロイトを成功させて証明するという新しいアプローチを取る AI ペンテストツールだ。
- 誤検知ほぼゼロ: 報告された脆弱性はすべて実証済み
- 96.15%: XBOW Benchmark(ホワイトボックス)での成功率
- 60〜90 分: 人間のペンテスターが 40 時間かかる作業を自動化
- 年間 $2,600〜: 外部診断の 1/10 以下のコスト
セキュリティ対策の実効性を客観的に検証するハードルは高いのが現状だ。Shannon のようなツールを開発フローに組み込むことで、「本当に攻撃可能か」を継続的に検証できるようになる。
ただし、人間のペンテスターの代替にはならない。SAST、SCA、DAST と組み合わせた多層防御の一要素として位置づけるのが正しい使い方だ。
OSS の Lite 版が公開されているので、まずはステージング環境で試してみてほしい。
関連記事
参考リンク
- KeygraphHQ/shannon – GitHub
- Open-source AI pentesting tools are getting uncomfortably good – Help Net Security
- Shannon: AI Pentesting Tool That Autonomously Identifies and Exploits Code Vulnerabilities – GBHackers
- Proof by Exploitation: Shannon’s Approach to Autonomous Penetration Testing – Medium
- Building the Leading Open-Source Pentesting Agent: Architecture Lessons – Medium


