mcpField
B
BurpMCP

BurpMCP

リモート
github.com/swgee開発ツール5740 週間前に更新
リポジトリ

BurpMCP について

BurpMCP は、MCP サーバーを内蔵した Burp Suite 拡張機能です。MCP クライアントから保存済みリクエストを取得し、新しい HTTP リクエストを送信できます。手動のアプリケーションセキュリティテスト、脆弱性調査、バグバウンティを対象とし、テスターがモデルの操作をすべて確認しながら制御できます。

主な機能

  1. 01MCP クライアントから取得できる保存済みリクエスト
  2. 02HTTP/1.1 と HTTP/2 リクエストの送信とログ表示
  3. 03正規表現置換による保存済みリクエストの再送
  4. 04Collaborator ペイロードの生成と相互作用の取得
  5. 05サーバーログタブでの MCP メッセージの確認

活用シーン

  1. 01保存済みリクエストをモデルに分析させ、追加テストを提案させる
  2. 02正規表現置換でリクエストを素早く調整して再送する
  3. 03Collaborator ペイロードを使った帯域外テスト

MCP 対応

BurpMCP 自体が MCP サーバーです。SSE または stdio ブリッジを介して、Claude Desktop、Cline、Cursor などの MCP クライアントに対し、保存済みリクエストの取得、HTTP リクエストの送信、Collaborator の相互作用確認などのツールを提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:8181/mcp/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

BurpMCP

Ask DeepWiki

BurpMCP Logo

BurpMCP は、アプリケーションセキュリティのテスター、脆弱性研究者、バグバウンティハンターを最新の AI で支援する Burp Suite 拡張機能です。LLM は日々、より大きなコンテキストウィンドウ、高速な応答時間、そして向上した知識や推論能力を獲得しています。BurpMCP を使えば、HTTP ベースのアプリケーションをテストする際にこうした能力を活用でき、見慣れない攻撃対象領域の調査や複雑な脆弱性の追跡を助ける、非常に賢い相棒となります。

BurpMCP は、Burp Suite を Claude Desktop や Cursor などの Model Context Protocol(MCP)クライアントと連携させ、LLM の力を借りて手動でのアプリケーションセキュリティテストを強化します。モデルの操作を完全に制御し、把握しながら、AI に自律的なテストを依頼できます。

機能:

  • :notebook: 拡張機能にリクエストを保存し、MCP クライアントが Get-Saved-Request ツールで取得できるようにします
  • :hammer: HTTP/1.1 および HTTP/2 の新しいリクエストを送信し、Request Logs タブで確認できます
  • :pencil2: 保存したリクエストの文字列を正規表現で置換して再送信できるため、すばやく調整できます(LLM 向けの Repeater のような機能です)
  • :satellite: Collaborator ペイロードを生成し、LLM 主導のアウトオブバンドテスト用にインタラクションを取得できます
  • :microscope: Server logs タブですべての MCP メッセージを確認でき、簡単にデバッグできます

この拡張機能は、Burp Suite 拡張 API と直接連携する MCP サーバーを起動します。Model Context Protocol の詳細については、ドキュメントを参照してください。

インストール

リリースから jar ファイルをダウンロードし、Burp に読み込んでインストールします。

MCP サーバーはデフォルトで localhost のポート 8181 上で SSE を使って実行されます。設定の構文は MCP クライアントによって異なりますが、以下に例を示します。

Cline:

{
  "mcpServers": {
    "burpmcp": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 30,
      "url": "http://localhost:8181/mcp/sse",
      "transportType": "sse"
    }
  }
}

Dive:

{
  "mcpServers": {
    "BurpMCP": {
      "transport": "sse",
      "url": "http://localhost:8181/mcp/sse"
    }
  }
}

Claude Desktop などの STDIO のみをサポートするクライアントで BurpMCP を使うには、stdio-bridge.py スクリプトをダウンロードし、必要な依存関係をインストールします。

pip3 install typer mcp

次に、以下の設定を claude_desktop_config.json に追加します。ホストとポートが BurpMCP で設定した値と一致していることを確認してください。

{
  "mcpServers": {
    "BurpMCP": {
      "command": "python3",
      "args": ["path/to/stdio-bridge.py", "http://localhost:8181/mcp/sse"],
      "env": {}
    }
  }
}

使い方

BurpMCP にリクエストを送信するには、任意のリクエストを右クリックし、`Extensions -> Send to BurpMCP" をクリックします。

BurpMCP にリクエストを送信

その後、リクエストは BurpMCP の「Saved Requests」タブに表示されます。保存した各リクエストには Notes 列があり、LLM に追加のコンテキストを提供できます。クライアントは各保存済みリクエストのメモを更新して、重要な詳細を記録したり、今後の分析に備えてリクエストを保存したりすることもできます。

保存済みリクエストタブ

お好みの MCP クライアントを使い、保存済みリクエストを取得して、テストを支援する後続のリクエストを送信するようモデルに依頼できます。

保存済みリクエストを取得

Claude がラボの攻略を試みる様子:

Claude がラボの攻略を試みる様子

例

BurpMCP がうまく使われているチャットログの例については、Showcase をご覧ください。

例を提供してくださった以下の方に感謝します。

よくある問題

  • モデルは、Content-Length ヘッダーや URL エンコーディングなど、リクエストに重要な要素を追加し忘れることがあります。これは拡張機能の問題ではなく、モデル側の失敗です。
  • HTTP/2 ツールのパラメーターでは、HTTP/2 リクエストに禁止されているヘッダーを含めないよう指定していますが、モデルがこれを無視することがあります。HTTP/2 リクエストが失敗した場合は、無効なヘッダーが含まれていないか確認してください。
  • 一部の MCP クライアントは CRLF ("\r\n") を送信できないようです。準拠した HTTP/1.1 リクエストには CRLF の改行が必要です。対処するには、LF を CRLF に自動置換する機能を有効にできます。
  • 一部の MCP クライアントは、時間が経ってからエラーレスポンスを受け取っても応答を返さず、生成を続けてしまいます。サーバー側でカスタムタイムアウトを追加しても、この問題は解決しません。現時点で最善の解決策は、Cline など、タイムアウトに対応したクライアントを使用することです。

制限事項

  • LF から CRLF への置換を有効にすると、Content-Length ヘッダーが追加された文字数を反映するよう自動的に更新されるため、HTTP/1.1 リクエストスマグリングのテストが難しくなります。
  • HTTP/2 経由でリクエストを再送信する際、ヘッダーは改行で連結され、リクエスト送信前に再分割されます。また、Cookie は個別のヘッダーに分割されます。そのため、ヘッダー値に改行を手動で挿入する必要がある場合、リクエストスマグリングなどの HTTP/2 プロトコルの脆弱性テストは難しくなります。

ツールの定義

ツールの仕様は src/main/java/burpmcp/tools にあり、MCP サーバーがクライアントにどのようなデータを期待するかを正確に記述しています。モデルが何を送信しているかを把握するため、この情報を理解しておくことが重要です。ユースケースに応じてプロパティの説明を変更できますが、その場合は拡張機能を再ビルドする必要があります。

ソースからのビルド

git clone https://github.com/swgee/burpmcp.git
cd burpmcp
mvn clean package

貢献

バグ、機能リクエスト、ご質問がある場合は、issue を作成してください。貢献をご希望の場合は、PR を送信してください。このツールを使って脆弱性やその他の興味深いものを見つけた場合は、スクリーンショットやチャットログをお送りください。Showcase に掲載させていただきます。BurpMCP をご利用いただきありがとうございます。それでは、ハッキングをお楽しみください!

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。