Grainy background
Grainy background
Grainy background

ペンテスト AI Agent の開発と初回フィールドテスト

  • avatar of the Tatsuya Abe Tatsuya Abe

  • 2026年2月8日(日曜日)

ペンテスト AI Agent の開発と初回フィールドテスト

弊社は 2025/5 からペンテスト AI Agent の研究開発を開始し、2026/1 に初回フィールドテストを実施しました。

本記事では、AI Agent のアーキテクチャや設計思想、フィールドテストの結果を紹介します。

TL;DR

  • 全自動 で動作する Web アプリケーション向けのペンテスト AI Agent を開発。
    • 初期偵察 ~ レポート作成までの全工程を multi-agent system として実装。
    • 中間者プロキシ (L7 Egress Gateway) によるスコープ制御、スロットリング、インスペクションを実装。
  • フィールドテスト (2026/2/8 時点)
    • HackerOne
      • VDP/BBP で 30 個のターゲット URL に対して検証し、VDP 部門 (90 days) で世界 86 位を達成。
      • VDP: 米国国防総省 (DoD) にて3件の脆弱性レポートがトリアージされた。
      • BBP: 3件提出 (先行報告あり)
    • 無償 PoC (1社)
      • Stored XSS を含む複数の悪用可能な脆弱性を発見した。
  • ベンチマーク
    • PortSwigger Academy Lab: 84%

What This Is / What This Is Not

This is:

  • Web アプリケーションのブラックボックス/グレーボックステストを全自動で行う AI Agent。
  • 精度重視で、規模を問わずスケーラブルに動作する。

This is not:

  • 脆弱性レポートを自動提出する Bot。
  • 汎用的なインターネットクローラーや攻撃ツールキット。
  • カバレッジ重視の脆弱性診断の代替 (今のところは)。
  • ホワイトボックステストやネットワークレベルのスキャナ。

アーキテクチャ

---
config:
  layout: dagre
  theme: base
---
flowchart LR
    %% Entry Point
    U(("User")) -- Target URL --> SA

    %% Control Plane
    subgraph Control_Plane["Control Plane"]
        SA["Strategist Agent"]
    end

    %% Core Components
    subgraph Blackboard["Blackboard"]
        direction LR
        TQ[("Task Queue")]
        FG[("Findings Graph")]
        HT[("Knowledge Base")]
    end

    %% Tactical Plane
    subgraph Tactical["Tactical Plane"]
        direction LR
        
        subgraph Agents[" "]
            direction LR
            R["Recon Agent"]
            V["Vulnerability Agent"]
            
            subgraph E_Unit["Exploit Unit"]
                direction TB
                E["Exploit Agent"]
                E --> SQLI["SQLi"]
                E --> XSS["XSS"]
                E --> ETC["..."]
            end
        end

        Agents ==> Toolset

        subgraph Toolset["Toolset"]
            direction TB
            BW["Web Browser"]
            SH["Kali Shell"]
            PY["Python"]
            PI["Proxy Inspector"]
        end
    end

    %% Validation Layer
    subgraph Validation["Validation Layer"]
        direction TB
        VA["Verification Agent"]
        RA["Report Agent"]
    end

    %% Infrastructure
    P_Svc{{"MITM Proxy"}}
    TWA(("Target Web App"))

    %% Logic Flow
    SA <--> Blackboard
    SA -. "Dispatch" .-> R & V & E & VA & RA
    SA -- "Push/Pop" --> TQ
    
    %% Output & Verification Flow
    Tactical -- Exploit PoC --> VA
    VA -- Confirmed --> RA
    Validation <--> Blackboard

    %% Traffic Flow
    Toolset -- Traffic --> P_Svc
    VA -- Verification Traffic --> P_Svc
    P_Svc -- Request --> TWA
    TWA -- Response --> P_Svc

%% Style Definitions
    style U fill:#f8f9fa, stroke:#212529, stroke-width:2px
    style SA fill:#eef6ff, stroke:#007bff, stroke-width:2px
    style Control_Plane fill:#ffffff, stroke:#007bff, stroke-width:2px, stroke-dasharray: 5 5
    
    style Blackboard fill:#f8f9ff, stroke:#5c6bc0, stroke-width:2px
    style TQ fill:#ffffff, stroke:#5c6bc0, stroke-width:1px
    style FG fill:#ffffff, stroke:#5c6bc0, stroke-width:1px
    style HT fill:#ffffff, stroke:#5c6bc0, stroke-width:1px
    
    style Tactical fill:#ffffff, stroke:#333333, stroke-width:2px, stroke-dasharray: 5 5
    style R fill:#f0f7ff, stroke:#2196f3, stroke-width:1px
    style V fill:#f3e5f5, stroke:#9c27b0, stroke-width:1px
    style E_Unit fill:#fff5f5, stroke:#f44336, stroke-width:1px, stroke-dasharray: 2 2
    style E fill:#ffebee, stroke:#f44336, stroke-width:1px
    style SQLI fill:#ffffff, stroke:#f44336, stroke-width:1px
    style XSS fill:#ffffff, stroke:#f44336, stroke-width:1px
    style ETC fill:#ffffff, stroke:#f44336, stroke-width:1px

    style Toolset fill:#fffaf0, stroke:#fb8c00, stroke-width:2px
    style P_Svc fill:#e8f5e9, stroke:#4caf50, stroke-width:2px
    style TWA fill:#f5f5f5, stroke:#757575, stroke-width:2px
    style Validation fill:#ffffff, stroke:#28a745, stroke-width:2px, stroke-dasharray: 5 5

設計思想

※ 社外秘の内容は伏せています。

multi-agent system:

弊社は、複数の専門エージェントが協力してペンテストを実行する multi-agent system を採用しています。

著名な OSS の中には、westonbrown/Cyber-AutoAgent のように single agent で構築されているものもあります。 どちらが良いかは一概には言えませんが、弊社は管理対象が増えることによる複雑性の増加を許容し、以下の理由から multi-agent system を採用しました。

  • 先行している XBOW が multi-agent system を採用していた。
  • フェーズごとのチューニングがしやすい。
    • モデル、システムプロンプト、ツール、ガードレールをフェーズごとに柔軟に設計できる。
    • 機械的な偽陽性チェッカーをフェーズごとに最適化した形で実装できる。
    • フェーズによっては、独特なステート管理や忘却処理が欲しくなることがある。

SSOT (Single Source of Truth) としての Findings Graph:

攻撃チェーン全体を通じて、インテリジェンスを一元管理するための SSOT が Findings Graph です。 この仕組みには、以下の利点があります。

  1. 攻撃チェーン全体のコンテキスト一貫性の確保
  2. 忘却リスクの軽減
  3. タスクに必要なサブグラフの機械的抽出によるトークン効率の向上

この Findings Graph は単なるナレッジベースではなく、オーケストレーションの中心的な役割を果たす重要な基盤です。 なお、Findings Graph 基盤は独自ノウハウが集約されているため、詳細は非公開とさせていただきます。

システムレベルのガードレール:

HITL を介さない全自動化がコアコンセプトである以上、人間の監督なしで安全に動作するためのガードレールは不可欠です。

プロンプトレベルのガードレールに加えて、中間者プロキシ (L7 Egress Gateway) がシステムレベルのガードレールとして機能します。 これにより意図しない攻撃や過剰なリクエストを防止し、全自動で動作するペンテスト AI Agent の安全性を確保しています。

フィールドテスト

HackerOne

合計 30 件のターゲット URL に対して

  • 制限時間: 1h
  • 入力: URL のみ (ブラックボックステスト)

という条件で検証を行ったところ、以下の成果を得ることができました。

  • VDP (Vulnerability Disclosure Program)
    • 米国国防総省 (DoD) にて3件の脆弱性レポートがトリアージされた。
    • 90 days 部門で世界 86 位を達成。
  • BBP (Bug Bounty Program)
    • 3件提出 (先行報告あり)

実稼働システムに対する有用性を確認できたため、現在は HackerOne による実証実験を終了しており、後述する独自ベンチマークの開発 & チューニングに注力しています。

HackerOne Ranking

無償 PoC

とある企業様にご協力いただき、開発中のペンテスト AI Agent を用いた全自動ペンテストの無償 PoC を実施しました。 最小限の情報 (URL, ID/Pass) を提供するグレーボックステストにて、Stored XSS を含む複数の悪用可能な脆弱性を発見することに成功しました。

ベンチマーク

PortSwigger Academy Lab

1h の制限時間内で実験したところ、2025/12/2 時点で 84% の問題を解くことができました。

PortSwigger Academy Lab Score

独自のベンチマーク

フェーズごとのチューニングがしやすい という利点を発揮するには、チューニング差分の是非を判断するためのベンチマークが必要不可欠です。 XBOW Benchmark や PortSwigger Academy Lab は攻撃チェーン全体の評価には有用ですが、フェーズごとのチューニングには不向きであると考えています。

そこで、弊社はフェーズごとの性能改善・コスト最適化のための独自ベンチマークを開発しています。 詳細については後日別の記事で紹介する予定です。

まとめ

弊社は全自動で動作する Web アプリケーション向けのペンテスト AI Agent を開発し、初回フィールドテストで一定の成果を得ることができました。 今後も、より高度な攻撃チェーンの自動化や、より広範な攻撃対象への対応を目指して研究開発を続けていきます。

弊社は、ペンテスト AI Agent の実証実験に協力していただける企業様を募集しています。 ご興味のある方はぜひご連絡ください。

シェア :
cta-image
cta-image

最先端のペンテストを体験してみませんか?

従来のペンテストを超える精度と速度で、Webアプリケーションの脆弱性を検出します。
まずはお気軽にお問い合わせください。

お問い合わせ