Shannon:41.4K StarのホワイトボックスAIペネトレーションテストツール

🤖 Shannon:41.4K StarのホワイトボックスAIペネトレーションテストツール、No PoC No Report
Shannonは、WebアプリケーションとAPIを対象に自律的に動作するホワイトボックスAIペネトレーションテストツールである:
- GitHubスター41.4K:セキュリティ分野で最も注目されるオープンソースプロジェクトの一つ
- No PoC No Report:PoCがなければ報告しない、偽陽性ゼロ
- XBOWベンチマーク96.15%:エクスプロイト成功率は商用ツールを圧倒する
- 1回あたり$50:1回のテストコスト、レポートは1〜1.5時間で完成
- ホワイトボックステスト:ソースコードへのアクセスが必要、ソースコード解析+動的攻撃
これはセキュリティツールチェーンにおける動的検証レイヤーであり、従来のペネトレーションテストの空白を埋めるものだ。
🔍 なぜShannonは存在するのか?
セキュリティ空白の問題
あなたのチームはAIプログラミングツールを使って毎日コードをデプロイしているのに、ペネトレーションテストは年に1回しか実施していない——その間の364日間のセキュリティ空白を誰が埋めるのか?
- 従来のスキャナー:「存在するかもしれない」脆弱性を大量に報告し、セキュリティエンジニアが1件ずつ検証する
- 手動ペネトレーションテスト:期間は数週間、コストは数万ドル
- セキュリティ空白:間の364日間、脆弱性が本番環境にデプロイされ続けている可能性がある
Shannonの答え
Shannonが示した答えは、ソースコードを読み、自らブラウザを操作して攻撃を仕掛け、侵入できなければ報告しない完全自律型のペネトレーションテストAgentである。
⚠️ スキャナーではない:No Exploit, No Report
Shannonを理解する第一歩
Shannonを理解する第一歩は、それが何でないかを明確にすることだ:
- DASTではない:動的アプリケーションセキュリティテストツールではない
- SASTではない:静的アプリケーションセキュリティテストツールではない
- パターンマッチングではない:既知の危険パターンをスキャンするわけではない
従来のツールは本質的にパターンマッチングであり、コードやHTTPレスポンス中の既知の危険パターンをスキャンして、「疑わしい脆弱性」のリストを出力する。
Shannonの核心的な設計原則
Shannonの核心的な設計原則を一言でまとめると:“POC or it didn’t happen”(PoCがなければ起きていないのと同じこと):
| 特徴 | 説明 |
|---|---|
| 実際に攻撃を実行 | ブラウザ自動化によってSQLインジェクションを実行し、XSSペイロードを構築し、SSRFリクエストを送信する |
| エクスプロイトに成功したものだけを報告 | エクスプロイトに成功した脆弱性のみが最終レポートに入る |
| コピペ可能なPoCを添付 | すべての発見には、そのままコピー&ペーストできるPoCコードが付属する |
| 偽陽性はレポートに入らない | エクスプロイトできない脆弱性は「偽陽性」または「潜在的」としてマークされ、レポートには含まれない |
つまりセキュリティチームが受け取るのは検証済みで再現可能な発見だけということだ。
OWASP Juice Shopテスト
公式提供のOWASP Juice Shopテストレポートで、Shannonは20件以上の脆弱性を発見した:
- SQLインジェクションによる認証バイパス(Critical)
- UNIONインジェクションによるデータ抽出(Critical)
- SSRF(High)
- XSS(High)
- 複数の認可バイパス(High)
注目すべきは、別の2つのテスト対象ではShannonのXSS検出が偽陽性ゼロだったことだ——これらのアプリが堅牢なXSS防御を備えていることを正しく識別し、誤検知しなかった。
🔬 5段階パイプラインアーキテクチャ
5段階パイプライン + マルチAgent並列
Shannonの技術アーキテクチャを表すキーワードは2つ:5段階パイプラインとマルチAgent並列である:
| 段階 | 名称 | 説明 |
|---|---|---|
| 段階1 | Pre-Recon | 外部スキャン + ソースコード解析(Nmap、Subfinder、WhatWeb) |
| 段階2 | Recon | 静的解析と動的解析を橋渡しし、エンドポイントを検証し、認証フローをマッピングする |
| 段階3 | Vulnerability Analysis | 5つの並列Agentがそれぞれ1つの脆弱性カテゴリを担当 |
| 段階4 | Exploitation | 5つの並列Agentが実際の攻撃を実行 |
| 段階5 | Reporting | ペネトレーションテストレベルの実行レポートを生成 |
基盤となる推論エンジン
ShannonはAnthropic Claude Agent SDKをベースに、3層のモデル構成を採用している:
- Claude Haiku 4.5:要約
- Claude Sonnet 4.6:セキュリティ分析
- Claude Opus 4.6:深い推論
📊 5種類の脆弱性を担当する並列Agent
5つの独立した分析Agent
Shannonは同時に5つの独立した分析Agentを起動し、それぞれが1つの脆弱性カテゴリを担当する:
| Agent | 手法 | 対象の脆弱性 |
|---|---|---|
| Injection | Source→Sinkテイントトラッキング | SQL/コマンド/ファイル/テンプレート/デシリアライゼーションインジェクション |
| XSS | Sink→Sourceテイントトラッキング | HTMLレンダリングコンテキストにおけるクロスサイトスクリプティング |
| SSRF | Sink→Sourceテイントトラッキング | HTTPクライアント、raw socket、URLオープナー |
| Auth | Guard検証 | 欠落しているセキュリティ管理(レート制限、セッション管理など) |
| Authz | Guard検証 | 欠落している認可チェック(水平/垂直/コンテキスト) |
5つのAgentは並行して動作し、互いにブロックし合わない。各分析Agentが完了すると、対応するエクスプロイトAgentが直ちに起動する。
脆弱性の分類ステータス
エクスプロイトAgentは各発見を3つのステータスに分類する:
- EXPLOITED(エクスプロイト済み):最終レポートに入る
- POTENTIAL(潜在的):レポートに入らない
- FALSE POSITIVE(偽陽性):レポートに入らない
最終レポートに入るのはEXPLOITEDのみである。
🔥 XBOWベンチマーク96.15%
XBOWベンチマーク
ShannonはXBOWベンチマークにおいて96.15%のエクスプロイト成功率(100/104)を達成した:
| 脆弱性タイプ | 総数 | 成功 | 成功率 |
|---|---|---|---|
| Broken Authorization | 25 | 25 | 100% |
| SQL Injection | 7 | 7 | 100% |
| Blind SQL Injection | 3 | 3 | 100% |
| SSRF / Misconfiguration | 22 | 21 | 95.45% |
| XSS | 23 | 22 | 95.65% |
| Server-Side Template Injection | 13 | 12 | 92.31% |
| Command Injection | 11 | 10 | 90.91% |
| 合計 | 104 | 100 | 96.15% |
テスト条件の説明
- XBOWベンチマーク:意図的に脆弱性を仕込んだ104個のアプリケーション
- クリーン版:変数名、コメント、ファイルパスのヒントを除去
- ホワイトボックスモード:Shannonはアプリのソースコードにアクセスできる
商用ツールとの比較
- Shannon:96.15%(ホワイトボックスモード)
- KinoSec:92.3%(ブラックボックスモード)
- Xfenser AI:88.5%
- XBOW商用プラットフォーム:約85%(ブラックボックス)
💰 コストと導入
コスト
1回のフルスキャン:
- 所要時間:1〜1.5時間
- APIコスト:約$50 USD(Claude Sonnet 4.6ベース)
- 範囲:$40〜55、モデル価格とアプリの複雑さによって変動
比較従来の手動ペネトレーションテスト:1回数万ドル、所要期間は数週間。
導入方法
npxモード(推奨、インストール不要):
# 一次性配置 npx @keygraph/shannon setup # 运行渗透测试 npx @keygraph/shannon start -u https://your-app.com -r /path/to/repo
ローカルモード(フルビルド):
# 克隆仓库 git clone https://github.com/KeygraphHQ/shannon.git cd shannon # 配置 API Key echo "ANTHROPIC_API_KEY=your-key" > .env # 安装和构建 pnpm install && pnpm build # 运行 ./shannon start -u https://your-app.com -r /path/to/repo
前提条件
- Docker:コンテナランタイム
- Node.js 18+:実行環境
- Anthropic API Key:推奨
- ソースコードへのアクセス:ホワイトボックスツールのため必要
🤝 Shannon Lite vs Shannon Pro
2つのバージョン
| バージョン | ライセンス | 位置づけ |
|---|---|---|
| Shannon Lite | AGPL-3.0 | 自分のアプリをローカルでテスト |
| Shannon Pro | 商用 | 組織向けAppSecプラットフォーム(SAST + SCA + Pentest) |
Shannon Proの機能
Shannon Proはフル機能のアプリケーションセキュリティプラットフォームである:
- Code Property Graph:静的解析エンジン
- ビジネスロジックセキュリティテスト:不変条件の自動発見
- SCAリーチャビリティ分析:CVE到達性の追跡
- シークレット検出:正規表現 + LLMによる検出
- 静的-動的の関連付け:静的解析の発見を動的ペネトレーションへ自動的に投入
- CI/CD統合:GitHub PRスキャン
⚠️ 利用上の注意
重要な警告
- 許可のないシステムに使用してはならない:Shannonは実際の攻撃を実行する。無許可のスキャンは違法である
- 本番環境での実行は推奨しない:攻撃動作が破壊的な影響を及ぼす可能性がある
- リポジトリがAIプロンプトインジェクションを受ける可能性:これは公式が明示的に挙げているセキュリティリスクである
- Shannon Liteはホワイトボックスツール:ソースコードリポジトリへのアクセスが必要
LLMハルシネーションのリスク
公式の免責事項:LLMは依然としてハルシネーションを起こす可能性があるため、すべての発見の正当性と重大性を人間が検証する必要がある。
📝 まとめ
Shannonが代表するのは、今まさに形になりつつあるセキュリティツールのパラダイムである:
- No PoC No Report:エクスプロイトに成功した脆弱性のみ報告
- 41.4K Stars:セキュリティ分野で最も人気のあるオープンソースプロジェクト
- XBOWベンチマーク96.15%:ホワイトボックステストの成功率は商用ツールを圧倒
- 5段階パイプライン:Pre-Recon → Recon → Vuln → Exploit → Report
- 5種類の並列Agent:Injection、XSS、SSRF、Auth、Authz
- 1回$50、1〜1.5時間:コストは手動ペネトレーションテストを大きく下回る
- ホワイトボックスツール:ソースコードへのアクセスが必要
PoCがなければ報告しない——Shannonはペネトレーションテストを1つのコマンドに変えた。
GitHub:https://github.com/KeygraphHQ/shannon
公式サイト:https://keygraph.io