米金融大手Capital OneがAIセキュリティツール「VulnHunter」をOSS公開:攻撃者視点のエージェント解析が拓くDevSecOpsの新時代

米金融大手のCapital Oneが2026年7月、自律型AIセキュリティツール「VulnHunter」をGitHubでオープンソース公開しました。攻撃者の視点でコード内の実効的脆弱性と到達経路を特定し、誤検知を大幅削減する次世代AI DevSecOpsの技術とインパクトを解説します。

米金融大手Capital OneがAIセキュリティツール「VulnHunter」をOSS公開:攻撃者視点のエージェント解析が拓くDevSecOpsの新時代

リード

2026年7月中旬、米国の主要金融大手であるCapital One(キャピタル・ワン)は、自社内で開発・運用してきた自律型AIコードセキュリティツール「VulnHunter(バルンハンター)」をオープンソースソフトウェア(Apache 2.0ライセンス)としてGitHub上に全公開した。

これまでソフトウェア開発現場における静的アプリケーションセキュリティテスト(SAST)や既存のスキャニングツールは、ルールベースのパターンマッチングに過度に依存しており、膨大な量の「誤検知(False Positives)」を生み出して開発者を疲弊させる「アラート疲れ(Alert Fatigue)」が根深い課題であった。

今回公開されたVulnHunterは、単なるAIによるコードスキャナーにとどまらず、自律型AIエージェント(Agentic AI)の推論ワークフローを活用。外部攻撃者の視点からコードを順方向に追跡し、実際に攻撃が到達可能か(Reachability)をマッピングした上で、誤検知を自動排除し、検証済みの具体的な修復コードまでを提示する。

米大手金融機関が自律型AIセキュリティのコア技術をコミュニティに解放した背景には何があるのか。本稿では、VulnHunterの技術的アーキテクチャ、従来のセキュリティツールとの決定的な差違、CI/CDパイプラインにおける実用性、そしてAI時代のDevSecOpsにもたらす地殻変動について徹底的に解説する。


背景:従来のSASTツールが直面する「アラート疲れ」とAI導入の壁

1. パターンマッチングの限界と大量の誤警報

現代のソフトウェア開発において、セキュリティを開発の早期段階から組み込む「シフトレフト(Shift Left)」の重要性は広く認知されている。しかし、従来用いられてきたSAST(Static Application Security Testing)ツールの多くは、ソースコード内の特定の関数呼び出しや文字列パターンを検知する構文解析に依存していた。

この従来型アプローチには、以下のような構造的限界が存在していた。

  • 到達可能性(Reachability)の無視: 例えば、コード上に潜在的にリスクのある関数が含まれていても、厳格な入力バリデーションやネットワークアクセス制御によって外部から決して呼び出せない場合がある。従来のSASTはこれを一律に「高リスク」と判定してしまう。
  • データフローの追跡不能: 複数ファイルや複雑なマイクロサービスにまたがる複雑な変数・データの推移を追跡しきれず、文脈を無視した警告を多発させる。

その結果、数百から数千件に及ぶ「実際には攻撃不可能な誤検知警報」が開発者に突きつけられ、本当に致命的な脆弱性が警告の山に埋もれてしまう「アラート疲れ(Alert Fatigue)」が日常化していた。

2. 第1世代AIセキュリティツールの限界

近年、LLM(大規模言語モデル)の登場に伴い、コードの自動修復や脆弱性検索を謳う初期のAIセキュリティツールが登場した。しかし、これら第1世代のAIツールにも課題があった。

単一のコンテキストウィンドウにコード断片を放り込んで問合わせる手法では、システム全体の依存関係やデータ構造を理解できず、AIが事実と異なる説明や動作しない修復案を提示する「ハルシネーション(幻覚)」を引き起こすリスクが高かったのである。

こうした中で求められたのが、コード全体を俯瞰し、攻撃者の思考プロセスを模倣しながら段階的に推論を進める「エージェント型AI(Agentic AI)」アプローチであった。


VulnHunterとは何か:金融最大手Capital Oneが提示する解

1. 金融機関のミッションクリティカルな要請から誕生

Capital Oneは、米国の大型クレジットカード業務やデジタルバンキングを手がける世界最大級の金融機関であり、クラウド移行やオープンソース技術の活用においても先進的な企業として知られている。同社においてサイバーセキュリティは事業の根幹であり、毎日何千回も実行されるデプロイメントパイプラインの中で、コードの安全性を高速かつ高精度に保証する必要があった。

VulnHunterは、同社のセキュリティ研究チームとAIエンジニアリングチームが自社プロダクションコードの防御を目的に内部開発したツールである。

2. GitHubへのオープンソース公開

2026年7月16日(現地時間)、Capital OneはVulnHunterをオープンソース(Apache 2.0ライセンス)としてGitHubリポジトリ(capitalone/VulnHunter)で全公開した。

Capital Oneのテクノロジー部門は公開にあたり、「安全なソフトウェアは業界全体の共有基盤であり、すべての開発者や企業、社会全体に利益をもたらす。自律型AIセキュリティのフレームワークをコミュニティと共有することで、AI時代のソフトウェアサプライチェーン全体の堅牢性を高めたい」と述べている。


VulnHunterの技術的核:3つの革新的アーキテクチャ

VulnHunterが従来のセキュリティツールや単純なLLMラッパーと一線を画す点は、その高度に設計されたエージェント型推論ワークフロー(Agentic Reasoning Workflow)にある。

flowchart TD
    A[ソースコード & 入力エントリポイント] --> B[エージェント1: 攻撃者視点 順方向解析]
    B --> C{攻撃経路到達可能性 Reachability}
    C -- 到達不可 / 誤検知 --x D[自動フィルタリング・破棄]
    C -- 実効的脆弱性を確認 --=> E[修復コード提案生成]
    E --> F[エージェント2: 独立検証 Verify Agent]
    F --> G{新攻撃面の発生チェック}
    G -- 問題あり --=> E
    G -- 合格 --=> H[検証済みPR / 修復レポート出力]

1. 攻撃者優先の順方向解析(Attacker-First Forward Analysis)

従来のSASTが「危険な関数(シンク)」から逆算してコードを探すのに対し、VulnHunterは「攻撃者がシステム外部からどこに触れるか(ソース)」を出発点とする順方向解析(Forward Analysis)を採用している。

  • エントリポイントの特定: HTTP APIエンドポイント、CLI引数、環境変数、メッセージキュー受信部など、外部からのデータ侵入経路を自動抽出する。
  • データフローマッピング: 攻撃者が注入した悪意ある入力データが、コード内のどの条件分岐を通過し、どの変数に代入され、最終的にデータベースクエリやOSコマンド実行などの「脆弱な処理」に届くかを、グラフ構造およびステップバイステップの推論によって追跡する。
  • Reachability(到達可能性)の確定: データフローが途中の安全なバリデーションやサニタイズ処理によって遮断されている場合、エージェントはその欠陥が攻撃不可能であると判断し、アラートを出力しない。

2. 反証エンジンと実効性検証(Counter-Example Engine)

VulnHunter内部には、推論の妥当性を検証する「反証エンジン(Counter-Example Engine)」が組み込まれている。

AIエージェントが「脆弱性を発見した」と仮説を立てた際、反証エンジンはあえて「この攻撃シナリオが成り立たない反例(Counter-Example)」を生成して自ら攻撃シナリオに反論を試みる。 例えば、「パラメータXに特殊文字を入力しても、フレームワーク側の自動エスケープ機構により無害化されるのではないか?」といった検証を自動で行う。この反証ステップを通過したものだけが、「真の実効的脆弱性(Exploitable Vulnerability)」として認定される。これにより、誤検知率を劇的に低減させている。

3. 独立した検証専用エージェント(Isolated Verify Agent)

最もユニークな設計の一つが、「脆弱性を検知・修正するメインエージェント」と「その修正案を判定する検証エージェント」の役割分離(Separation of Concerns)である。

一般的なAIツールでは、コードを修正した同じAIモデルが「修正完了しました」とセルフチェックを行うため、修正コードの中に新たなバグや別の脆弱性を埋め込んでしまっても気づきにくい問題があった。

VulnHunterでは、修正コードの検証フェーズ(Verify Phase)を独立したスタンドアロンの検証エージェント(Verify Agent)として実行する。 検証エージェントは、以下の観点から厳格な追試を実施する。

  1. 提示された修正コードが、元の脆弱性を完全に消滅させているか。
  2. 修正によってアプリケーションの正常なロジックやパフォーマンスが破壊されていないか。
  3. 修正コード自体が、新たな攻撃面(Attack Surface)や別の脆弱性を副作用として生み出していないか。

この二重のエージェントチェックを経て初めて、開発者に対するプルリクエスト(PR)や修正案が出力される仕組みとなっている。


インストールと実際のワークフロー:Claude CodeやCI/CDパイプラインとの統合

VulnHunterは、現代のAIエンジニアリングエコシステムと非常に相性が良く、簡単に導入できるよう設計されている。

1. セットアップの手順

Python環境およびLLMのAPI(Claude Code / Anthropic API等)がセットアップされた環境であれば、以下のシンプルな手順でローカル環境やCI環境にインストールできる。

# リポジトリのクローン
git clone https://github.com/capitalone/vulnhunter.git
cd vulnhunter

# インストールスクリプトの実行
./install.sh

2. 実行例と開発者体験(DX)

インストール後、ローカルプロジェクトのソースコードに対してVulnHunterを実行すると、エージェントがバックグラウンドで解析を開始する。

vulnhunter analyze --path ./src --output-report report.json

解析結果として出力されるレポートには、単なる「X行目に脆弱性があります」という文字列ではなく、以下の極めて詳細な情報が含まれる。

  • 攻撃ベクトル(Attack Vector): 攻撃者が使用する具体的パラメータとリクエスト構造
  • データフローの追跡トレース: 入力点から到達点までのコード行数の遷移
  • 反証結果のログ: なぜこの件が「誤検知ではない」と判定されたかの根拠
  • 検証済みパッチ(Verified Patch): そのまま適用可能なGit Diff形式の修正コード

開発者は一から脆弱性の再現実験をする必要がなく、掲示された攻撃パスとDiffを確認して承認するだけでセキュリティ修正を完了できる。


セキュリティ業界とエンタープライズへの影響・議論

1. 「防御側(Defenders)」におけるAI非対称性の解消

サイバーセキュリティの世界では、攻撃者はたった一つの脆弱性を探せばよいのに対し、防御者はすべてのコードを守らなければならないという「攻撃者有利の非対称性」が長年指摘されてきた。 近年では、悪意ある攻撃者がAIを使って攻撃コードを自動生成する脅威が現実化している。

Capital OneによるVulnHunterのオープンソース化は、防御者側(サイバーセキュリティ担当者や開発者)に対しても「攻撃者と同等以上のスピードと視点を持つAIエージェント」を提供することを意味する。これにより、デプロイ前の段階で自律的に脆弱性を塞ぐ「シールド(防御)」の強化が加速すると期待されている。

2. 議論と課題:AIコストとデュアルユースの懸念

一方で、セキュリティコミュニティや技術者の間では以下のような課題や議論も上がっている。

  • LLM APIコストと実行時間: エージェントが多段階の推論、反証、独立検証を行うため、大規模なコードベース全体に対して毎回実行すると、トークン消費コストや解析時間が膨らむ可能性がある。実務では差分解析(Diff Analysis)との組み合わせが鍵となる。
  • デュアルユース(両用性)のリスク: 攻撃者視点で到達可能な攻撃パスを正確にマッピングする能力は、裏を返せば「悪意あるハッカーがオープンソースソフトウェアのゼロデイ脆弱性を探すために悪用できる」ことを意味する。防御ツールと攻撃ツールの表裏一体性は、今後のAIセキュリティにおける継続的な議論テーマとなるだろう。

まとめ:AI DevSecOpsの新領域と今後の展望

Capital Oneがオープンソース化した「VulnHunter」は、単なる便利な開発ツールの枠を超え、「セキュリティ解析が静的ルールのチェックから、自律思考型エージェントによる動的推論へ移行した」ことを象徴する歴史的な出来事である。

本稿のポイント

  1. 従来の課題克服: パターンマッチング依存のSASTが抱えていた大量の誤検知と「アラート疲れ」を、エージェント型AIが解決。
  2. Attacker-First解析: 外部入力から攻撃到達性(Reachability)を順方向に追跡し、真に危険な脆弱性のみを特定。
  3. 独立検証構造: 修正案の生成と検証を分離した2層エージェント構造により、ハルシネーションや二次的バグの発生を防止。
  4. DevSecOpsの進化: 開発者の負担を最小限に抑え、検証済みパッチを即座に提供する真の「シフトレフト」を実現。

自宅サーバーやローカルLLM環境でAIエージェントの実験を行っている技術者にとっても、VulnHunterの「役割分離エージェント」や「反証エンジン」の設計思想は、今後のAIエージェント開発における非常に強力なリファレンスアーキテクチャとなるはずだ。

今後、オープンソースコミュニティの手によってVulnHunterが様々な言語やCI/CDツール、ローカルLLM(OllamaやvLLM等)へ対応拡張されていくことで、AI DevSecOpsの進化はさらに加速していくに違いない。


参考

参考ソース

関連記事

関連記事