MENU

Claude Code × MCPで挑む脆弱性調査

はじめに

こんにちは、みらいです。

この記事は、RWPL Advent Calendar 2025 の23日目の記事です。

昨今のAIエージェントは、飛躍的に成長しており、業種を問わず様々な場面で活用されています。

今回はその中でも分野を絞り、OffensiveSecurity領域でどのように活用できるか、実例を踏まえて紹介するというテーマです。

 

 

AIエージェントの利用事例について

まず最初に、私がAIエージェントの利用に強く関心を持つきっかけとなった、3つの事例を紹介します。

AIエージェントを利用してバグバウンティで報奨金を獲得した事例

バグバウンティに興味をお持ちの方はご存知かと思いますが、近年はブロックチェーン関連のバグバウンティプログラムが非常に活発です。

以下の記事は、紹介されている手法を用いて実際に$2,000の報奨金を獲得した事例です。

 

その他、脆弱性調査に特化した自律型AIエージェント「XBOW」がHackerOneのリーダーボードにおいて1位を獲得したことで人間のリサーチャーを上回る圧倒的な報告件数が話題になりました。

脅威アクターがAIエージェントを悪用した事例

中国系の脅威アクターが「Claude Code」という開発タスク(コーディング等)に長けたAIエージェントを悪用し、複数の組織へ攻撃を仕掛けたという事例です。

30組織へ攻撃を行い、一部のケースで侵入に成功したと報告されています。

AIエージェントに言われるがまま操作し、意図せず事故につながった事例

「カルダノ(ADA)」と呼ばれる暗号通貨において、あるユーザが検証を目的としてAIエージェントに提案された不正なトランザクションを送信したところ、ブロックチェーンに一時的なチェーン分岐が生じ、トークン価格が下落した事例です。

なお、当該ユーザは故意による攻撃ではなく、過失による事故であるため、空売りなども行っていなかったと主張しています。

 

実際に脆弱性を調査してみた

華々しい成果や恐ろしい事例が並びますが、実際の使い勝手や検出精度はどうなのでしょうか。

記事を読むだけではなく、自分の手元の環境で再現性を確認するため、実際にWebアプリケーションを対象とした調査を行いました。

ワークフロー設計

利用ツールはClaude Codeをメインに据え、MCP経由でSemgrepを連携させつつ、Codex-CLIを用いて過検知除去を行う構成としました。

攻撃シナリオやPayloadは、HackTricksPayloadAllThingsを参考にするよう設計しました。

1. 脅威知識ベースの生成

 GitHub上のIssues/Pull Request/Commit履歴、および既知脆弱性情報から調査観点を整理する

2. 前提条件・構成要素の確認

 使用されているミドルウェア、ライブラリ、設定ファイルからセキュリティ関連の初期設定や制約事項を把握する

3. 静的解析

 AIエージェントがコードの文脈を理解し、Semgrepに対して適切なスキャンルールを提案・実行させる。同時に、ツールでは検出が難しい複雑なロジックやデータフローについては、AIエージェント自身が直接コードを読み解き、脆弱性の有無を詳しく解析する

4. 過検知除去

 Codex-CLIに委譲し、過検知除去を行う

5. レポート生成

 技術的根拠を整理し、PoCおよび再現手順を中心に報告書として文書化する

6. 最終確認

 各ステップで記録されたログや判断根拠を元に、検出事項の妥当性および報告内容の整合性を最終確認する

調査結果

本ワークフローによる検証の結果、対象のWebアプリケーションにおいて実際に脆弱性を検出することに成功しました。

AIエージェントが生成したPoCは高い精度で機能しており、実戦における有用性を強く感じる結果となりました。

 

なお、発見した脆弱性については現在IPA独立行政法人情報処理推進機構)への届出を行い、調整中の段階にあります。そのため、本記事においては具体的なソフトウェア名や脆弱性の詳細(CWE等)についての記述は割愛させていただきます。

 

このように脆弱性の検出自体には成功した一方で、調査対象アプリケーションの検証環境の構築や動的解析は私が行うようなフローになっている点が課題として残りました。

 

現状の課題

今回の検証を通じて、主に2つの課題が見えてきました。

1つ目はコストパフォーマンスの問題です。 高度な推論を行わせるため、AIエージェントは大量のトークンを消費します。

APIの利用料金が高額になりがちで、報奨金が見込めない小規模なBBPや個人の学習用途では、コストが見合わない場面がありました。

 

2つ目は動的解析の自動化です。

脆弱性の候補は検出できますが、その裏付けを取るための検証環境の構築や、実際にPayloadを送信して挙動を確認する動的解析のフェーズは、依然として人間が介入して環境を整備する必要がありました。

 

また、Semgrepで紹介されている記事を参考にすると、Claude CodeとCodex-CLIで検出できる脆弱性に差があったようなので、人間のテスターと同様にAIエージェントも発見できる脆弱性に得手不得手があるのかもしれません。

 

今後の展望

最後に、私は個人的な興味からClaude Codeを利用しましたが、以下のような自動化ツールがリリースされている点にも触れておきます。

特にStrixについては、ソースコードの静的解析を行わせつつ、プロキシツールを経由し検証環境のURLに対してリクエスト送信まで行うようなので動的解析も含めて自動化しているようです。

CI/CD連携で開発プロセスに組み込みやすく、今後この種のAIツール開発は加速していきそうです。