モデル / データセット
six2dez/burp-ai-agent avatar
six2dez/burp-ai-agent

Custom AI Agent(burp-ai-agent)レビュー:0.9.xの脆弱性を踏まえて採用判断を考える

Burp Suite extension that adds built-in MCP tooling, AI-assisted analysis, privacy controls, passive and active scanning and more

スター 1,497フォーク 221KotlinMIT

ひと目でわかる

これは何?
Burp SuiteにAIバックエンドとMCPツールを組み込むKotlin製拡張。1.0.0で修正された認証バイパスとCookie漏えいの内容を確認し、誰が今すぐ導入すべきか、誰が待つべきかを整理する。
誰に向いている?
導入を検討すべきなのは、Burp Suite Proで手動テストを回しつつ、MCP経由で外部AIエージェントにBurpを操作させたいペネトレーションテスターやバグバウンティ参加者である。0.9.0から0.9.2を使っていた場合は、まずSECURITY.mdの勧告に従ってMCPトークンと影響を受けたCookieをローテーションし、その後1.0.0へ上げる。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 13 日前です。
何の言語で書かれている?
主に Kotlin です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

この拡張が埋めようとしている穴

Burp Suiteで手動テストを進めていると、リクエストとレスポンスを眺めながら「このパラメータの挙動は既知のどの脆弱性クラスに近いか」を毎回自分の頭で照合することになる。Custom AI Agentは、この照合と反復作業をBurpの内部からAIに投げるための拡張である。READMEが挙げる対象は、ローカルモデルまたはクラウドのAIバックエンドを使いたい人、MCP経由で外部のAIエージェントにBurpを操作させたい人、パッシブ/アクティブスキャナを走らせている間に手動テストを続けたい人だ。単体のスキャナではなく、BurpのUIとスキャンライフサイクルにAIを差し込む位置づけだと読める。なお、この拡張はCustom AI Agentという名前で公開されている。PortSwiggerのBApp Storeの命名要件に合わせた改名で、リポジトリ名、ドキュメントサイト、設定ディレクトリはburp-ai-agentのまま残っている。

12のバックエンドと59のMCPツールという構成

READMEによれば、対応するAIバックエンドは12種類ある。Burp AI(Burp Suite組み込み)、Anthropic、Ollama、LM Studio、NVIDIA NIM、Perplexity、Generic OpenAI互換、そしてGemini CLI、Claude CLI、Codex CLI、OpenCode CLI、Copilot CLIというCLI群である。ローカルのOllamaやLM Studioを選べば、推論を外部に送らずに済む構成が取れる。MCPツールは59種類が用意されているが、ここには配布ビルドによる差がある。GitHub Releases向けのフルビルドでは59すべて、BApp Store提出用のストアビルドでは拡張ネイティブのAIツール8種類のみになる。READMEはBApp Storeへの提出が2026年1月からオープンのままと書いており、ストア経由での入手は現時点でできない。導入経路はReleasesからJARを落とすか、ソースからビルドするかの2つである。

MCPのスコープ制御とツール承認の設計

MCPを有効にすると、Claude Desktopなどの外部クライアントがBurpのツールを呼び出せるようになる。このとき問題になるのは、外部クライアントがスコープ外のホストにBurp経由で到達できてしまうことだ。READMEは、すべてのMCPツールをスコープ内ホストに限定できるオプションを挙げている。もう一つの制御がツール呼び出しの承認である。モデル出力から解析されたツール呼び出しは、利用者が判断するまでBurpに到達しない。読み取り専用で範囲が限定されたツールは黙って実行され、それ以外はチャット内の承認カードで確認を求める。未知のツール名は毎回確認になり、黙って実行されることはない。この fail closed の挙動は1.0.0で導入されたもので、0.9.xには存在しなかった。

0.9.xを使っていたなら最初に読むべき修正内容

1.0.0のリリースノートは、0.9.2に対する外部レビューが2026-08-05に、出荷済みコードを実行して2件の悪用可能な欠陥を確認したと述べている。1件目はSEC-04で、MCPのアクセス制御チェックが解決済みルートで実行されていなかった。外部アクセスを有効にすると、リスナーが認証なしのツール呼び出しを受け付けていた。ローカルモードでも、一致したルートではOrigin/Host/User-Agentチェックとセキュリティ応答ヘッダーが機能していなかった。修正後はルーティングの前に判定が走る。2件目はPRIV-05で、STRICTとBALANCEDの両モードでセッションCookieがマスクされずにAIバックエンドへ渡っていた。パッシブスキャナがCookieをname=valueの形で出力し、プレフィックスをキーにしたマスクが効かず、sessionという名前のCookieしか捕捉できていなかった。READMEは、影響を受けたMCPトークンとCookieをローテーションするよう明記している。CVEもGHSAも発行されていない点も書かれているので、識別子を探しても見つからない。

インストールと初回設定の実際

ReleasesからJARを取得するか、Java 21でソースからビルドする。フルビルドはJAVA_HOME=/path/to/jdk-21 ./gradlew clean shadowJarで、出力はbuild/libs/Custom-AI-Agent-full-<version>.jar。ストアビルドは同じコマンドに-PstoreBuild=trueを付け、出力はbuild/libs/Custom-AI-Agent-<version>.jarになる。Burp側ではExtensions > Installed > Addを開き、拡張タイプにJavaを選んでJARを指定する。Extensions一覧とSuiteタブにはCustom AI Agentとして登録される。初回起動時にバンドルされたプロファイルが~/.burp-ai-agent/AGENTS/へ自動展開され、追加の*.mdファイルをこのディレクトリに置くとプロファイルを増やせる。プライバシーモードはSTRICT / BALANCED / OFFの3段階で、Burpの外にデータが出る前に機密情報をマスクする。監査ログはJSONLで、SHA-256の整合性ハッシュが付き、各起動にpromptSourceとcontextKindが記録される。プロンプトライブラリはHTTPリクエストまたはスキャナissueのコンテキスト単位で保存でき、右クリックメニューから起動するか、Custom…で都度入力する。

パッシブスキャナがBurp Pro前提である点

READMEは、パッシブスキャナがBurpのPassiveScanCheckとして動作すると書いている。これはBurp Proの機能であり、Community版ではこの経路が使えない。つまり62の脆弱性クラスを謳うパッシブ/アクティブAIスキャンのうち、少なくともパッシブ側はProライセンスが前提になる。Communityで試す場合、評価できるのはチャットとMCPツール、プロンプトライブラリ、監査ログといった部分に限られる。アクティブスキャンについても同じ制約が及ぶかは提供資料からは判断できない。導入前に、自分のライセンスでどの機能が動くのかを確認しておく必要がある。また、MCPツールを外部クライアントに開放する設計そのものが、Burpの操作権を別プロセスに渡すことを意味する。スコープ制御と承認カードはそのリスクを下げる仕組みだが、無効化できる以上、組織のポリシー次第では採用できない場合がある。

Burp組み込みのBurp AIとの違い

もっとも直接的な比較対象は、Burp Suite組み込みのBurp AIである。READMEが改名の理由として挙げているのは、この組み込みプロバイダとの混同を避けることだった。違いはバックエンドの選択肢にある。Burp AIはPortSwigger側が用意したプロバイダを使うのに対し、Custom AI AgentはAnthropic、Ollama、LM Studio、NVIDIA NIM、Perplexity、OpenAI互換エンドポイント、各種CLIを設定で切り替えられる。ローカル推論を選べる点は、データを外部に出せない案件で効いてくる。もう一つの違いがMCPである。Burp AIは外部のAIエージェントにBurpのツールを公開する仕組みを持たない。Custom AI Agentは59ツールをMCPで公開し、スコープ制限と承認を被せる。逆に言えば、MCPを使わずクラウドのモデルでチャットできれば十分という用途では、組み込みのBurp AIで足りる可能性が高い。拡張を追加して攻撃面を増やす理由がそこにはない。

維持コストとライセンス、そして導入前に確認する手順

ライセンスはMITで、JARを配布物として受け取る形になる。MITは著作権表示と許諾表示の保持を条件に、改変と再配布を認める。ただしこれは拡張本体の話であり、接続先の各AIバックエンドの利用条件や、Burp Suite本体のライセンスは別に確認する必要がある。ここは法的助言ではないので、契約や社内規程に照らした判断は各自で行ってほしい。維持コストの面で見ておくべきは、0.9.0から0.9.2の間に2件の欠陥が混入し、外部レビューで確認されるまで修正されなかったという事実である。1.0.0ではテストが660から1131件、158クラスに増え、行カバレッジは34%から58%になったとリリースノートは述べている。detektのベースラインも1096から1040へ縮んでいる。数値は改善しているが、カバレッジ58%は残りの42%がテストされていないことを意味する。導入するなら、まずSECURITY.mdの勧告を読み、外部アクセスを有効にするかどうかを決め、~/.burp-ai-agent/AGENTS/に置くプロファイルとプライバシーモードの組み合わせを確定させる。そのうえで1.0.0のJARをExtensions > Installed > Addから読み込む。

編集部の結論

導入を検討すべきなのは、Burp Suite Proで手動テストを回しつつ、MCP経由で外部AIエージェントにBurpを操作させたいペネトレーションテスターやバグバウンティ参加者である。0.9.0から0.9.2を使っていた場合は、まずSECURITY.mdの勧告に従ってMCPトークンと影響を受けたCookieをローテーションし、その後1.0.0へ上げる。Burp Communityしか持たずパッシブスキャナを期待する場合や、外部プロセスにBurpの操作権を渡すことに組織のポリシー上同意できない場合は、この拡張の中心的な機能を使えないため採用理由が薄い。最初に確認すべきは、MCPアクセスを外部公開する設定にするかどうか、そしてAGENTSディレクトリに置くプロファイルとプライバシーモードをどう組み合わせるかである。

公式情報源

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. six2dez/burp-ai-agent on GitHub
コミュニティノート

コミュニティノート