
アプリ開発で良いの見つけた!自分で自分のアプリを攻撃すれば脆弱性が簡単に発見。その極地が出現!
タイトル通りです。アプリ開発していくと「あれ?これはお金になるかも」と思う瞬間があるのですが、同時に「攻撃されたら責任とれんしなぁ」とも思う。
セキュリティなんぞ、ズブの素人にはわからない。だけどもある程度安全に作ったソフトウェアを販売したい。そんな自分がみつけたのがコレ。
自分でアプリを攻撃するリポジトリ!ハッカー、雇った感じ。
私はこれとNanobot・RalphWigamと組み合わせて様々な攻撃に強くなったアプリを作成出来た。でも、結構メモリやVRAMが食われるから要注意。
以下に、まとめた情報を載せておきます。

Shannon: 完全自律型AIペネトレーションテスト・ソリューション

Shannonは、KeygraphHQによって開発された、ウェブアプリケーションの脆弱性を特定し、実際に動作するエクスプロイト(攻撃コード)を生成することに特化した完全自律型AIハッカーです。本ソリューションは、従来の静的スキャンツールとは異なり、AIが自律的に攻撃ベクトルを探索し、ブラウザ操作やコマンド実行を通じて脆弱性の実証(PoC)を行う点が最大の特徴です。https://github.com/KeygraphHQ/shannon
ヒントなし、ソースコード開示型の「XBOW Benchmark」において96.15%という極めて高い成功率を記録しており、開発サイクルが加速する現代のソフトウェア開発において、セキュリティ診断の空白期間を埋める「オンデマンドのホワイトボックス・ペネトレーションテスター」としての役割を担います。

1. 製品の概要と開発背景
1.1 解決する課題
現代の開発現場では、Claude CodeやCursorといったAIツールの普及により、コードのデプロイ頻度が飛躍的に向上しています。しかし、従来のペネトレーションテストは年1回程度の実施にとどまることが多く、残りの364日間に脆弱性が本番環境へ混入するリスク(セキュリティギャップ)が存在します。Shannonはこのギャップを埋めるために設計されました。
1.2 コア・コンセプト

自律性: 単一のコマンドで起動し、ログイン、ブラウザ操作、攻撃実行、レポート作成までを人間の介入なしで完結させます。
実証主義(No Exploit, No Report): 脆弱性の可能性を指摘するだけでなく、実際にエクスプロイトを成功させて証明できたもののみを報告し、誤検知(False Positive)を排除します。
ホワイトボックス型: アプリケーションのソースコードとリポジトリ構成にアクセスできる環境でのテストを前提としています。
2. 主要な機能と技術的特徴
2.1 マルチエージェント・アーキテクチャ

Shannonは、人間のペネトレーションテスターの手法を模倣した、以下の4つのフェーズからなる高度なアーキテクチャを採用しています。
フェーズ 内容
1. 偵察 (Reconnaissance) ソースコード分析、Nmap/Subfinder等を用いたインフラ調査、ブラウザ自動操作による動的な探索を行い、攻撃対象領域をマッピングします。
2. 脆弱性分析 (Analysis) 偵察データを基に、OWASPカテゴリ別の専門エージェントが並行して潜在的な欠陥を探索。データフロー分析を行い、攻撃仮説を作成します。
3. エクスプロイト (Exploitation) 立てられた仮説に基づき、実際に攻撃を実行。成功したものだけを検証済み脆弱性として残し、それ以外は破棄します。
4. レポート作成 (Reporting) 検証済みの知見を整理し、再現可能なコピー&ペースト可能なPoCを含む、プロフェッショナルな報告書を生成します。
2.2 テスト対象となる脆弱性
現在、以下のOWASPの重要な脆弱性カテゴリをカバーしています。
インジェクション(SQL等)
クロスサイトスクリプティング(XSS)
サーバーサイドリクエストフォージェリ(SSRF)
認証および認可の不備(Broken Authentication/Authorization)
2.3 統合ツールと自動化
外部ツールの活用: Nmap, Subfinder, WhatWeb, Schemathesisなどの既存のセキュリティツールを自律的に操作します。
高度なログイン対応: 2FA/TOTPログイン、Googleログイン、フォーム認証などを自動で処理します。
並行処理: 脆弱性の分析とエクスプロイトを並行して実行することで、迅速な結果提供を実現します。

3. 製品ラインナップ
Shannonは、用途に応じて2つのエディションが提供されています。
特徴 Shannon Lite Shannon Pro
ライセンス AGPL-3.0 (オープンソース) 商用ライセンス
対象ユーザー セキュリティチーム、個人研究者 エンタープライズ、CI/CD統合希望者
主な機能 基本的な自律型診断フレームワーク 高度なLLMデータフロー分析、専用サポート
分析エンジン 標準エージェントSDK LLMDFA(LLM-powered Data Flow Analysis)

4. 導入と運用
4.1 前提条件
Docker: コンテナ実行環境。
AIプロバイダー: Anthropic APIキー(Claude 3.5 Sonnet推奨)またはClaude Code OAuthトークン。
4.2 運用コストと時間
実行時間: フルテストには通常1時間〜1.5時間を要します。
コスト: Anthropic Claudeモデルを使用する場合、1回のフルテストあたり約50米ドルのAPI費用が発生します(アプリケーションの複雑さにより変動)。

4.3 セットアップ手順(クイックスタート)
リポジトリをクローンする。
APIキーを設定する(.envファイルまたは環境変数)。
./shannon start URL=<対象URL> REPO=<ソースコードパス> を実行する。
5. 実績と検証データ
Shannonは、意図的に脆弱性を持たせたアプリケーションに対して、高いパフォーマンスを示しています。

OWASP Juice Shop: 20以上の高インパクトな脆弱性を特定。完全な認証バイパス、データベースの流出、管理者権限への昇格、SSRFなどを実証。
c{api}tal API / OWASP crAPI: JWT攻撃(アルゴリズム混乱、弱キー注入など)、大量割り当て(Mass Assignment)の悪用、隠しエンドポイントの特定に成功。
精度: 堅牢な防御策が講じられている箇所(例:XSS対策)については正しく「脆弱性なし」と判断し、誤検知ゼロを達成。

6. 利用上のガイドラインと免責事項

6.1 環境制限
本番環境での実行禁止: Shannonは受動的なスキャナーではなく、実際にデータを改ざん・作成・削除する可能性がある攻撃エージェントです。必ずサンドボックス、ステージング、またはローカル開発環境で使用してください。
許可の必要性: ターゲットとなるシステムの所有者から、書面による明示的な許可を得た上で実行する必要があります。無許可の実行は違法行為となる可能性があります。

6.2 制限事項
人間による検証の必要性: LLMの性質上、最終レポートにハルシネーション(もっともらしい嘘)が含まれる可能性があるため、専門家による最終的な検証が推奨されます。
診断の網羅性: LLMのコンテキストウィンドウの制限により、Lite版ではコードベース全体を網羅できない場合があります。より深い分析にはPro版が推奨されます。
非対象の脆弱性: アクティブなエクスプロイトが不可能な問題(脆弱なサードパーティライブラリ、設定ミスのみなど)は、Lite版の報告対象外となる場合があります。
