文章总结: PortSwigger官方推出BurpSuiteMCPServer扩展,支持MCP协议的AI客户端直接操控Burp进行渗透测试。该工具通过SSE/Stdio双协议传输,提供HTTP请求发送、历史记录查询、Collaborator外带测试等核心功能,支持自定义工具扩展。安装需编译JAR并配置客户端连接,适用于自动化漏洞扫描、流量分析等渗透测试场景。 综合评分: 85 文章分类: 渗透测试,WEB安全,安全工具,红队,漏洞分析
Burp 官方 MCP Server
原创
攻防路 攻防路
攻防录
2026年4月14日 11:27 北京
在小说阅读器读本章
去阅读
项目地址:https://github.com/PortSwigger/mcp-server
PortSwigger 官方给 Burp Suite 出了个 MCP Server 扩展。
装好之后,任何支持 MCP 协议的 AI 客户端——Claude Desktop、Cursor、Windsurf、Codex,只要接上这个 Server,就能直接操控 Burp 帮你做渗透测试。抓历史、改包、发请求、跑 Collaborator,全程不用你切窗口。
运行机制
两套传输协议并行
MCP 协议支持两种传输方式:SSE(Server-Sent Events)和 Stdio。Burp 扩展本身跑的是 SSE,默认监听 http://127.0.0.1:9876。
支持 SSE 的 MCP 客户端(Cursor、Windsurf 等)直接填 URL 就能连上。但 Claude Desktop 目前只支持 Stdio,所以项目里还打包了一个 Stdio 代理服务器(mcp-proxy),专门负责在客户端和 Burp 之间做协议转换:
AI 客户端 (Stdio) → mcp-proxy (桥接) → Burp 扩展 (SSE, localhost:9876)
这个代理是独立 JAR,源码在 https://github.com/PortSwigger/mcp-proxy,也可以单独抽出来用。
工具定义机制
工具层完全用 Kotlin 数据类声明。每个 @Serializable 的 data class 就是一个工具,类名自动推导成工具名(snake_case),描述字符串直接传给 LLM 当 Tool Description。
分页通过实现 Paginated 接口来支持——数据类加上 count 和 offset 字段,框架统一处理翻页,不用每个工具单独写。
当前暴露的工具
| 类别 | 工具 | | — | — | | HTTP 请求 | 发送 HTTP/1.1 和 HTTP/2 请求 | | 模块联动 | 发包到 Repeater 或 Intruder | | 编解码 | URL 编解码、Base64 编解码、随机字符串 | | 配置管理 | 导出/导入项目和用户级配置(JSON 格式) | | 历史记录 | HTTP 历史、WebSocket 历史(支持正则过滤 + 分页) | | 任务控制 | 暂停/恢复扫描引擎、开关代理拦截 | | 编辑器交互 | 读写当前激活的 Repeater/Intruder 编辑器内容 | | 扫描器(专业版) | 获取漏洞扫描结果、生成 Collaborator 负载、轮询外带交互 |
安全性做了两层控制:HttpRequestSecurity 管发包权限,HistoryAccessSecurity 管历史读取权限。响应体超过 5000 字符会自动截断,防止 LLM context 撑爆。
安装步骤
1. 编译扩展 JAR
需要先装好 Java 并确保 jar 命令可用:
java --version
jar --version
然后 clone 仓库,用 Gradle 编译:
git clone https://github.com/PortSwigger/mcp-server.git
cd mcp-server
./gradlew embedProxyJar
编译完成后,JAR 文件在 build/libs/burp-mcp-all.jar。
2. 在 Burp 里加载扩展
打开 Burp Suite → Extensions 标签页 → 点 Add → 类型选 Java → 选刚才的 burp-mcp-all.jar → Next。
加载成功后,顶部出现 MCP 标签页,在里面:
- 勾选 Enabled 启用 MCP Server
- 按需勾选 Enable tools that can edit your config(允许 AI 修改 Burp 配置)
- 默认监听
http://127.0.0.1:9876,端口可以改
3. 接入各类 MCP 客户端
方式一:SSE 直连(Cursor / Windsurf / 其他支持 SSE 的客户端)
直接在客户端配置里填 SSE URL:
http://127.0.0.1:9876
# 或
http://127.0.0.1:9876/sse
方式二:Stdio 代理(Claude Desktop)
扩展内置了一键安装器,点一下能自动写入 Claude Desktop 配置。手动配置的话打开 ~/Library/Application Support/Claude/claude_desktop_config.json,填入:
{
"mcpServers": {
"burp": {
"command": "<Burp 自带的 Java 路径>",
"args": [
"-jar",
"/path/to/mcp-proxy-all.jar",
"--sse-url",
"http://127.0.0.1:9876"
]
}
}
}
保存后重启客户端,确保 Burp 已经在跑且扩展已加载。
实战场景
场景一:用 AI 客户端翻 Proxy 历史找漏洞
测试期间流量全走 Burp 代理,测完之后让 AI 帮你审一遍:
“帮我看 Proxy 历史里有没有包含
SQL关键字的请求,把参数列出来逐一分析是否有注入风险”
AI 客户端会调用 get_proxy_http_history_regex,正则匹配 SQL,分页拉取数据,逐条过。不需要你手动翻几百条记录。
技术要点:分页参数 count 和 offset 由 AI 自己控制;响应超长会自动截断到 5000 字符,防止 context 溢出。
场景二:Collaborator 外带测试
测 SSRF 或盲注时,Collaborator 负载很实用:
“给这个请求参数生成一个 Collaborator payload,注入进去发一次,然后帮我看有没有收到 DNS 或 HTTP 回调”
AI 会依次调用:
generate_collaborator_payload— 拿到 payload URL 和 payloadIdsend_http1_request— 把 payload 注入请求发出去get_collaborator_interactions— 轮询外带交互结果
整个 OOB 测试链路完整走完,不用切 Collaborator 标签盯着等。
技术要点:Collaborator 功能需要 Burp Suite 专业版,社区版不含相关 API。
场景三:Repeater 联动改包
发现接口有问题,想让 AI 自动构造 payload 试一遍:
“读取当前 Repeater 里的请求,把 id 参数改成
' OR 1=1--,发出去,看看返回了什么”
AI 调用 get_active_editor_contents 读当前 Repeater 窗口内容,改完之后用 set_active_editor_contents 写回去,再调 send_http1_request 实际发包。
技术要点:get_active_editor_contents 取的是键盘焦点所在的文本区域,需要 Burp 窗口处于前台激活状态,否则返回 <No active editor>。
自定义工具
项目工具层扩展很直接,在 Tools.kt 里按统一模式写:
第一步:定义数据类,字段对应 AI 需要传入的参数:
@Serializable
data class MyCustomScan(
val targetHostname: String,
val targetPort: Int,
val payload: String
)
第二步:在 Server.registerTools() 里注册:
mcpTool<MyCustomScan>("扫描指定目标并返回结果") {
val request = HttpRequest.httpRequest(
HttpService.httpService(targetHostname, targetPort, false),
"GET / HTTP/1.1\r\nHost: $targetHostname\r\n\r\n"
)
val response = api.http().sendRequest(request)
response?.toString() ?: "<no response>"
}
工具名由类名自动推导(转 snake_case)。带分页就改成 mcpPaginatedTool<T>,并在数据类里实现 Paginated 接口(加 count 和 offset 字段),框架负责翻页。
Burp Montoya API 能做的所有操作,都可以这样封成工具暴露给 AI 客户端。
往期推荐 📚
repo-analyzer:一句话生成开源项目深度架构报告
java-audit-skills:让 Claude 帮你做 Java 代码安全审计
WMPFDebugger 微信小程序调试神器
欢迎关注“攻防录” ✨
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:攻防录 攻防路 攻防路《Burp 官方 MCP Server》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论