Claude CodeやCursorでコードを毎日リリースしていても、ペンテストは年1回という現場は多い。この「セキュリティの空白期間」を埋めるオープンソースの自律型AIペンテスター、Shannon Liteが急速に注目を集めています。

この記事でわかること:

  • Shannon Liteが解決する「セキュリティの空白」問題
  • 主な機能と4フェーズの動作アーキテクチャ
  • Dockerを使った基本的な起動手順
  • ベンチマーク実績とコスト感
  • Shannon LiteとShannon Proの違い

年1回のペンテストではコードの速さに追いつかない

AIコーディングツールの普及で、コードの出荷速度は大幅に上がりました。しかしペンテストの頻度は変わっていません。年1回の外部ペンテストだけでは、残りの364日に出荷した脆弱性をカバーできない現実があります。

Shannonはこの空白を埋めるために設計された「オンデマンドのホワイトボックスペンテスター」です。READMEでは「Every Claude (coder) deserves their Shannon」と表現されており、AIで高速開発する開発者の相棒として位置づけられています。

Shannon Lite とは

https://github.com/KeygraphHQ/shannon

Shannon LiteはKeygraphHQが公開したオープンソースの自律型AIペンテスターです。ウェブアプリとAPIのソースコードを解析し、攻撃ベクターを特定して、実際にエクスプロイトを実行します。脆弱性が本当に悪用可能かどうかを証明するPoC(Proof of Concept)付きのレポートを自動生成する点が最大の特徴です。

バックエンドの推論エンジンにはAnthropicのClaude Agent SDKを採用しています。XBOWベンチマーク(ヒントなし・ソースコードあり)では96.15%の成功率を記録しており、2026年4月時点でGitHubのスター数は40,000を超えています。

主な機能

完全自律で動作する

起動コマンド1つで実行を開始します。2FAやTOTPログイン(Google Sign Inを含む)からブラウザ操作、最終レポート生成まで、ゼロ介入で完結します。

“No Exploit, No Report” ポリシー

発見した脆弱性は実際に攻撃して証明できたものだけをレポートに含めます。PoCはコピーして再現できる形式で出力されます。偽陽性を排除し、結果を確実に行動可能な形にする設計です。

OWASPの主要脆弱性をカバー

現在カバーしている脆弱性クラスは Injection、XSS、SSRF、Broken Authentication / Authorization です。

コードを読んでテストを組み立てる

ソースコードを解析してから動的テストを行います。ブラックボックスのスキャナーと違い、コードレベルの情報を攻撃に活用するため、隠れたAPIエンドポイントや認証フローの迂回路を見つけやすい構造です。

Nmap・Subfinder・WhatWebなどと連携

偵察フェーズでは複数のセキュリティツールを組み合わせて攻撃対象を把握します。

並列処理で高速化

脆弱性クラスごとの分析と攻撃を並列実行するため、レポートを素早く得られます。

4フェーズのアーキテクチャ

Shannonは人間のペンテスターの手順を模倣した4段階の構造で動作します。

フェーズ1:偵察

ソースコードとNmap・Subfinderを使って攻撃面を把握します。エントリポイント、APIエンドポイント、認証メカニズムのマップを作り、次フェーズへ渡します。

フェーズ2:脆弱性分析

OWASPカテゴリごとに専門エージェントが並列で動き、ユーザー入力が危険な箇所に到達するかをデータフロー解析で追跡します。出力は「仮説リスト」としてエクスプロイト候補を列挙したものです。

フェーズ3:エクスプロイト

仮説を実際に攻撃して検証します。ブラウザ自動操作やCLIツール、カスタムスクリプトを使い、成功したもののみを次フェーズに渡します。失敗した仮説は偽陽性として破棄されます。

フェーズ4:レポート生成

確認済みの脆弱性だけをまとめ、再現可能なPoCとともにペンテスターグレードのレポートを出力します。

使い方

前提として、AnthropicのAPIキー(またはClaude Code OAuthトークン)とDockerが必要です。

まずコンテナをビルドします。

docker build -t shannon:latest .

テスト対象のソースコードを repos/ 配下に置き、以下のコマンドでペンテストを実行します。

docker run --rm -it \
  --network host \
  --cap-add=NET_RAW \
  --cap-add=NET_ADMIN \
  -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
  -e CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 \
  -v "$(pwd)/repos:/app/repos" \
  -v "$(pwd)/configs:/app/configs" \
  shannon:latest \
  "https://your-app.com/" \
  "/app/repos/your-app" \
  --config /app/configs/example-config.yaml

設定ファイルにはログインURL・認証情報・TOTPシークレット、テストを絞るルール(特定パスを除外するなど)を記述できます。ローカル環境のアプリをテストする場合は localhost の代わりに host.docker.internal を使います。

トークン不足によるレポート生成の失敗を防ぐため、CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 の設定が推奨されています。

ベンチマーク実績

OWASP Juice Shop(意図的に脆弱性を仕込んだウェブアプリ)に対する1回の自律実行では、以下の結果を記録しています。

  • 20以上の重大な脆弱性を発見
  • Injectionによる完全な認証バイパスと全ユーザーデータベースの抜き取りを実行
  • 登録フローのバイパスによる特権昇格(一般ユーザーが管理者アカウントを作成)に成功
  • IDORでほかのユーザーのデータを改ざん
  • SSRFで内部ネットワークの偵察を成功

Checkmarxのcapital API(意図的に脆弱なREST API)では15件近くのCritical・High脆弱性を発見し、アプリ全体の完全侵害を実証しています。注目すべき点は、XSSに対してはゼロの偽陽性だったことで、「No Exploit, No Report」ポリシーの精度の高さを示しています。

コストと所要時間

Claude 4.5 Sonnetを使った完全テストの目安は以下のとおりです。

  • 所要時間:1〜1.5時間
  • コスト:約50ドル

コストはモデルの料金改定やアプリの規模・複雑さによって変動します。

Shannon Lite と Shannon Pro の違い

項目 Shannon Lite Shannon Pro
ライセンス AGPL-3.0(無料) 商用
コード分析 コアフレームワーク LLMベースのデータフロー解析エンジン追加
CI/CD統合 なし あり
サポート コミュニティ 専用サポート
対象 セキュリティチーム・個人 エンタープライズ

Shannon LiteはAGPL-3.0ライセンスで公開されており、内部のセキュリティテストには無料で使えます。ただしShannonをサービスとして外部提供する場合は、改変部分のコードをオープンソースにする必要があります。

Shannon Proは、LLMベースのデータフロー解析エンジンによって大規模なコードベースの深い静的解析が可能で、CI/CDパイプラインへの統合にも対応します。

注意事項

Shannonは本番環境で実行するためのツールではありません。実際に攻撃を実行するため、データの作成・変更・削除が発生する可能性があります。テスト環境またはローカル開発環境でのみ使用してください。また、自分が所有または明示的な書面での許可を得たシステム以外への使用は、不正アクセス禁止法などに違反します。

Windowsでは、レポートに含まれるエクスプロイトコードをWindows Defenderがマルウェアと誤検知することがあります。その場合はShannonのディレクトリを除外設定するか、Docker/WSL2上で実行します。

まとめ

Shannonは「警告を出す」スキャナーではなく「本物の攻撃で証明する」AIペンテスターです。AIコーディングツールで高速開発している現場ほど、年1回のペンテストでは追いつかない現実があります。

Shannon LiteはAGPL-3.0で公開されており、Dockerとanthropicのアカウントがあればすぐに試せます。1コマンドで起動し、1〜1.5時間でPoC付きのセキュリティレポートが手元に届く点は、継続的なセキュリティ検証の選択肢として検討する価値があります。