1. 环境要求

以下是本文实践所需的环境要求:

组件 版本要求
Burp Suite Professional / Community Edition(2024+)
Java JRE 17+(运行 mcp-proxy.jar
opencode 已安装并可正常运行
网络 本机回环地址 127.0.0.1,无需外网
mcp-proxy.jar 位于桌面 C:\Users\22538\Desktop\mcp-proxy.jar

注意:以上为基本环境要求,mcp-proxy.jar 为 MCP sever 的服务器代理包

2. 安装 Burp MCP Server 扩展

方式一:通过 BApp Store 安装(推荐)

  1. 打开 Burp Suite

  2. 进入 Extender → BApp Store
    在这里插入图片描述

  3. 搜索 MCP Server
    在这里插入图片描述

  4. 点击安装(作者: Daniel S & Daniel Allen)
    因为我已经安装,这里我只做截图展示
    因为我已经安装,这里我只做截图展示

方式二:手动下载安装

  1. 访问 https://portswigger.net/bappstore/9952290f04ed4f628e624d0aa9dccebc
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4ee0d68f00964d91a95c4eb0a44626c5.png在这里插入图片描述

  2. 下载最新版 .bapp 文件
    在这里插入图片描述

  3. 在 Burp 中进入 Extender → BApp Store → Manual install
    在这里插入图片描述

  4. 选择下载的 .bapp 文件加载
    在这里插入图片描述

3. 启动 MCP 服务器

  1. 安装完成后,Burp 中会出现 MCP Server 标签页
    在这里插入图片描述

  2. 点击 Start 按钮启动服务器
    在这里插入图片描述

  3. 默认地址: http://127.0.0.1:9876
    在这里插入图片描述

注意: 每次重启 Burp Suite 后需要重新点击 Start

4. 配置 opencode

4.1 全局配置文件路径

C:\Users\22538\.config\opencode\opencode.json

4.2 配置内容

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "burp-suite": {
      "type": "local",
      "command": [
        "java",
        "-jar",
        "C:\\Users\\22538\\Desktop\\mcp-proxy.jar",
        "--sse-url",
        "http://127.0.0.1:9876"
      ],
      "enabled": true,
      "timeout": 30000
    }
  }
}

4.3 配置说明

字段 说明
type "local" 本地 MCP 服务器,通过 stdio 通信
command ["java", "-jar", "...mcp-proxy.jar", "--sse-url", "http://127.0.0.1:9876"] 用 mcp-proxy.jar 桥接 Burp 的 HTTP SSE 端点
enabled true 启动时自动启用
timeout 30000 请求超时时间(毫秒)

关键点: 必须使用 --sse-url http://127.0.0.1:9876(HTTP 而非 HTTPS),因为 Burp 的 MCP Server 扩展用的是 HTTP。

如果 Burp 的 MCP Server 开启了 External Access(需要 Token),需要在命令中添加 --oauth21 参数或配置环境变量。

4.4 Burp Analyst Agent(可选)

Agent 文件路径:

C:\Users\22538\.opencode\agents\burp-analyst.md

在 opencode 中输入 @burp-analyst 可直接激活专用的 Burp 安全分析师 Agent,自动进行 API 分析、JS 审计、敏感信息扫描等。


5. 重启并验证

完成配置后,需要重启 opencode 使配置生效,并验证 Burp MCP Server 是否连接成功。

5.1 退出 opencode

配置需要重启才能生效,请先退出当前运行的 opencode 客户端。

5.2 重新启动 opencode

重新启动 opencode,观察启动过程中是否有报错信息。正常情况下,opencode 会加载 MCP 配置并尝试连接 Burp MCP Server。

5.3 验证连接

在 opencode 对话中输入以下命令验证连接:

查看 Burp 的 HTTP history

如果配置正确,opencode 应该能正常返回 Burp Suite 的 HTTP 历史记录数据。如果能正常返回数据,说明 opencode 与 Burp MCP Server 连接成功。

5.4 常见问题排查

如果连接失败,可以检查以下几点:

  1. Burp MCP Server 是否正在运行:确保 burp-mcp-server 进程仍在后台运行
  2. 端口是否正确:确认配置中的端口号与 Burp MCP Server 启动时指定的端口一致
  3. 防火墙设置:检查是否有防火墙阻止了 localhost:9000 端口的连接
  4. 配置语法:检查 mcp_config.json 文件是否有语法错误

6. 使用方式

方式一:直接对话

直接对 opencode 说:

  • “查看 Burp Suite 的 HTTP history”
  • “提取所有 API 端点”
  • “分析 JS 文件”
  • “查找敏感信息”
  • “测试这个接口是否存在漏洞”
  • “帮我发送一个 POST 请求到 /api/login”

方式二:使用 Agent(推荐)

输入 @burp-analyst 后加上需求,例如:

@burp-analyst 分析最近 100 条 HTTP history,提取 API 端点

Agent 会自动完成多步骤分析流程。

典型场景

场景 1:API 接口审计
@burp-analyst 提取所有含 /api/ 的请求,分析端点类型和返回状态码
场景 2:JS 敏感信息泄露检测
查看 HTTP history 中所有 JS 文件,检查是否有硬编码密钥或内网地址
场景 3:全量安全扫描
分析整个 proxy history,找出可能的 JWT token、SQL 错误信息、内网 IP 泄露

7. MCP 工具清单

Burp MCP Server 扩展暴露的完整工具列表:

工具名称 功能说明
burp_get_proxy_history 获取 HTTP proxy 请求历史
burp_send_request 发送 HTTP/1.1 请求到目标
burp_send_request_http2 发送 HTTP/2 请求
burp_get_proxy_websocket_history 获取 WebSocket 历史
burp_collaborator 生成 Burp Collaborator 负载(仅 Pro 版)
burp_get_collaborator_interactions 获取 Collaborator 交互记录
burp_create_repeater 创建 Repeater 标签页
burp_create_intruder 创建 Intruder 攻击
burp_proxy_intercept 控制 Proxy 拦截开关
burp_encode 编码工具
burp_decode 解码工具

8. 使用注意事项

8.1 Burp MCP Server 必须先 Start

每次打开 Burp Suite 后,必须进入 MCP Server 标签页 → 点击 Start,opencode 才能连接。重启 Burp 后需要重新操作。

8.2 先捕获流量再查询

如果 Burp 尚未捕获到任何 HTTP 流量(Proxy history 为空),opencode 查不到数据。使用前确保:

  • 浏览器已配置 Burp 代理(默认 127.0.0.1:8080
  • 已浏览目标网站,Proxy history 中有记录

8.3 Proxy 拦截状态注意

如果 Burp Proxy 处于 Intercept is on 状态,某些操作(如发送请求)可能会被拦截挂起。建议在 opencode 调用期间将 Intercept 暂时关闭,或使用 burp_proxy_intercept 工具控制开关。

8.4 mcp-proxy.jar 不能删除或移动

当前 opencode 配置中 mcp-proxy.jar 的路径固定指向桌面:

C:\Users\22538\Desktop\mcp-proxy.jar

删除、移动或重命名该文件会导致 MCP 连接失败。

8.5 避免大量请求同时操作

一次性查询大量 history 或并发发送多个请求可能导致超时。建议:

  • 先按条件过滤缩小范围(如按域名、方法、状态码)
  • 大范围扫描时逐步进行,分批分析

8.6 注意敏感信息安全

通过 Burp MCP 获取的数据可能包含:

  • JWT Token / Session ID
  • API Key / 密码 / 密钥
  • 内网 IP 地址和架构信息
  • 个人身份信息(PII)
    在分享 session、截图或记录输出时注意脱敏。

8.7 External Access / Token 认证

如果 Burp 的 MCP Server 扩展开启了 External Access,需要配置 Token 认证。当前配置使用的是 --sse-url http:// 无需认证模式。如果后续启用 External Access,需要更新配置添加 MCP_AUTH_TOKEN 环境变量。

8.8 保持 Java 环境可用

mcp-proxy.jar 依赖 Java 运行。如果 Java 卸载或版本过低(低于 Java 17),MCP 服务器将无法启动。


9. 故障排查

问题:opencode 启动时 MCP 连接失败

可能原因:

  • Burp 的 MCP Server 未启动 → 在 Burp 中点击 MCP Server → Start
  • mcp-proxy.jar 路径不对 → 检查桌面是否存在该文件
  • Java 未安装或版本低 → 运行 java --version 确认
  • 端口 9876 被占用 → 检查是否有其他程序占用

问题:连接成功但工具调用报错

可能原因:

  • Burp 版本过低 → 更新到最新版
  • MCP Server 扩展版本过低 → 在 BApp Store 检查更新
  • Burp 未捕获到任何流量 → 配置浏览器代理后先浏览目标网站
  • Proxy Intercept 处于开启状态 → 关闭 Intercept 后再试

问题:查询超时

可能原因:

  • History 数据量过大 → 先按条件过滤,分批次查询
  • Burp 响应慢 → 增大 timeout 值(目前 30000ms)
  • 网络代理配置问题 → 检查 Burp 的代理监听设置

问题:返回 403 Forbidden

可能原因:

  • Burp MCP Server 开启了 External Access 但未提供 Token → 在 MCP Server 设置中关闭 External Access,或获取 Token 后配置认证

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐