关于 BurpMCP
BurpMCP 是一个 Burp Suite 扩展,内置 MCP 服务,让 MCP 客户端可以读取 Burp 中保存的请求并发送新的 HTTP 请求。面向手动应用安全测试、漏洞研究和漏洞赏金猎人,测试者可以全程查看并控制模型的操作。
主要功能
- 01保存请求供 MCP 客户端检索
- 02发送 HTTP/1.1 与 HTTP/2 请求并查看日志
- 03通过正则替换重新发送已保存的请求
- 04生成 Collaborator 载荷并获取交互记录
- 05在服务日志标签页查看全部 MCP 消息
适用场景
- 01让模型分析 Burp 中保存的请求并提出后续测试
- 02使用正则替换快速调整并重发请求
- 03借助 Collaborator 载荷进行带外测试
MCP 相关
BurpMCP 本身是 MCP 服务,通过 SSE 或 stdio 桥接向 Claude Desktop、Cline、Cursor 等 MCP 客户端提供保存请求检索、请求发送和 Collaborator 等工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
http://localhost:8181/mcp/sseclaude mcp add --transport http BurpMCP http://localhost:8181/mcp/sse{"mcpServers":{"BurpMCP":{"type":"http","url":"http://localhost:8181/mcp/sse"}}}在 Cursor 中打开{"servers":{"BurpMCP":{"type":"http","url":"http://localhost:8181/mcp/sse"}}}在 VS Code 中打开{"mcpServers":{"BurpMCP":{"type":"http","url":"http://localhost:8181/mcp/sse"}}}{"mcpServers":{"BurpMCP":{"serverUrl":"http://localhost:8181/mcp/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
BurpMCP

BurpMCP 是一款 Burp Suite 扩展,可借助现代 AI 为应用安全测试人员、漏洞研究人员和漏洞赏金猎人提供助力。大模型每天都在扩展上下文窗口、加快响应速度,并提升知识和推理能力。BurpMCP 让你在测试基于 HTTP 的应用时充分利用这些能力,提供一位超级智能的得力助手,帮你探索陌生的攻击面并追踪复杂漏洞。
BurpMCP 专注于借助大模型增强手动应用安全测试,通过将 Burp Suite 与 Claude Desktop、Cursor 等 Model Context Protocol(MCP)客户端集成,让你能够提示 AI 代你执行自主测试,同时全面掌控并查看模型的操作。
功能:
- :notebook: 在扩展中保存请求,供 MCP 客户端使用 Get-Saved-Request 工具获取
- :hammer: 发送新的 HTTP/1.1 和 HTTP/2 请求,并在 Request Logs 选项卡中查看
- :pencil2: 使用正则表达式字符串替换重发已保存的请求,从而更快地调整请求(类似面向大模型的 Repeater)
- :satellite: 生成 Collaborator 载荷并获取交互记录,以便大模型主导带外测试
- :microscope: 在 Server logs 选项卡中查看所有 MCP 消息,方便调试
该扩展会启动一个直接与 Burp Suite 扩展 API 交互的 MCP 服务。如需了解 Model Context Protocol 的更多信息,请参阅文档。
安装
从 releases 下载 jar 文件,然后将其加载到 Burp 中即可安装。
MCP 服务默认通过 SSE 在 localhost 的 8181 端口运行。配置语法因 MCP 客户端而异,以下是一些示例:
{
"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"
}
}
}
若要将 BurpMCP 与仅支持 STDIO 的客户端(例如 Claude Desktop)搭配使用,请下载 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 的 “Saved Requests” 选项卡中。每个已保存的请求都包含一个 Notes 列,可为大模型提供额外上下文。客户端也可以更新每个已保存请求的备注,以记录重要细节,或保存请求供日后分析。

使用你偏好的 MCP 客户端,你可以提示模型获取已保存的请求并发送后续请求,以协助测试。

Claude 尝试解决实验:

示例
查看 Showcase,了解 BurpMCP 成功使用的聊天记录示例。
感谢以下用户提供示例:
常见问题
- 模型有时会忘记在请求中添加重要组件,例如 Content-Length 标头或 URL 编码。这并非扩展的问题,而是模型自身的失误。
- HTTP/2 工具参数规定,HTTP/2 请求中不得包含被禁止的标头,但模型有时可能会忽略这一点。如果 HTTP/2 请求失败,请检查请求中是否包含无效标头。
- 一些 MCP 客户端似乎无法发送 CRLF("\r\n")。符合规范的 HTTP/1.1 请求必须使用 CRLF 行结束符。为解决此问题,可以启用自动将 LF 替换为 CRLF 的功能。
- 一些 MCP 客户端在较长时间后仍不会确认错误响应,并会继续无限生成。在服务端添加自定义超时无法解决此问题。目前,最佳解决方案是使用支持超时的客户端,例如 Cline。
局限性
- 启用将 LF 替换为 CRLF 后,测试 HTTP/1.1 请求走私会很困难,因为 Content-Length 标头会自动更新,以反映新增的字符。
- 通过 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,祝你编码愉快!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。