Bundle
dsh-plugin-burpsuite-mcp
DeepSeek Harness bundle for the BurpSuite MCP Bridge
- Source
- 6jeffr3y
- License
- SEE LICENSE IN LICENSE
- Updated
- Updated yesterday
Readme
<div align="center"> # DSH BurpSuite MCP 将 Burp Suite 的 Proxy、Logger、History、Repeater、Rewrite、Intercept、BCheck 和 Bambda 能力接入 DeepSeek Harness 原生工具层。 [](https://github.com/6jeffr3y/dsh-burpsuite-mcp/releases) [](https://github.com/topics/dsh-plugin) [](https://portswigger.net/burp/pro) </div> ## 核心优势 - **原生 DSH 工具**:通过官方 `@deepseek-ai/dsh-mcp-client` 注册 `mcp__burpsuite_mcp_bridge__*` 工具,不依赖模型手写 HTTP 请求。 - **低噪声流量检索**:先按目标、时间窗口、来源、注释和状态聚合候选流量,再按 `flowId` 获取完整请求与响应。 - **人工与 Agent 协作**:支持 Burp Selection、Repeater、注释、高亮、BCheck、Bambda 和其他扩展产生的 Logger-like 流量。 - **受控主动操作**:重放、原始请求、Rewrite 和双向 Intercept 支持 TTL、命中上限、自动禁用及 bounded pending queue。 - **运行时配置**:在 DSH Web 的“设置 → 插件 → 插件配置 → BurpSuite MCP”中修改桥接地址、工具超时和重连次数;保存后仅重启 MCP 子插件。 - **模型无关**:工具先进入 DSH 统一工具注册表,再由当前 LLM adapter 投影给支持原生工具调用的模型。 ## 架构 ```mermaid flowchart LR A[DSH Agent] -->|native tool call| B[DSH MCP Client] B -->|stdio| C[Bundled FastMCP server.py] C -->|HTTP JSON, default 127.0.0.1:9639| D[BurpSuite MCP Bridge JAR] D --> E[Montoya API] E --> F[Proxy / History / Logger / Repeater] E --> G[Rewrite / Intercept / BCheck / Bambda] ``` DSH bundle 与 Burp 扩展分为两个进程。Bundle 内置 Python stdio MCP server;Burp JAR 在 Burp Suite 进程内提供本地 HTTP bridge。 ## 版本与要求 | 组件 | 当前基线 | | --- | --- | | DSH bundle | `0.3.1` | | DeepSeek Harness | `0.1.2-alpha.1` | | Python MCP SDK | `mcp==1.26.0` | | Burp bridge JAR | `2.1.0` | | Burp Suite 实测版本 | Professional `2026.4.2-47702` | | Montoya API 编译基线 | `2025.10` | | JAR Build-Jdk-Spec | 21 | ## 安装 ### 1. 安装 Burp 扩展 从 [v0.3.1 Release](https://github.com/6jeffr3y/dsh-burpsuite-mcp/releases/tag/v0.3.1) 下载: ```text burpsuite-mcp-bridge-2.1.0-all.jar ``` 在 Burp Suite 的 `Extensions → Installed → Add` 中选择该 JAR。推荐保持以下配置: ```text Enabled: true Bind host: 127.0.0.1 Port: 9639 Max live/logger entries: 1500 Max body preview bytes: 32768 ``` JAR 的 SHA-256 为: ```text efc986789d3eea8136a0ef95d1697104c02a2a21deb4ed43f07ba891e1e017bf ``` ### 2. 安装 Python MCP SDK ```sh python3 -m pip install 'mcp==1.26.0' ``` ### 3. 安装 DSH bundle ```sh dsh plugin --profile web add github:6jeffr3y/dsh-burpsuite-mcp#v0.3.1 ``` 重启 Web profile 后生效: ```sh dsh web ``` > GitHub 安装直接使用仓库中提交的 `lib/` 和 `server.py`,不执行安装期构建脚本。需要固定供应链内容时,可以把版本标签替换为具体 commit SHA。 ## 验证 先确认 Burp bridge 只在预期地址监听: ```sh curl http://127.0.0.1:9639/health ``` 再确认 DSH profile 已组合该 bundle: ```sh dsh --profile web --dump-config ``` 配置中应出现: ```yaml - id: mcp-burpsuite-bridge name: dsh-plugin-burpsuite-mcp ``` 新会话应能调用以下原生工具: - `mcp__burpsuite_mcp_bridge__burp_bridge_status` - `mcp__burpsuite_mcp_bridge__burp_target_overview` - `mcp__burpsuite_mcp_bridge__burp_flow_get` ## 推荐工作流 1. 使用 `burp_bridge_status` 确认版本、监听地址、缓冲区和规则状态。 2. 对单个目标优先调用 `burp_target_overview(host=...)`,避免直接读取全部历史。 3. 使用 `source + flowId` 调用 `burp_flow_get` 获取决定性请求与响应。 4. 仅在需要验证时执行一次 `burp_replay_flow` 或 `burp_send_raw_request`。 5. 需要复用的自动化使用 Rewrite、BCheck 或 Bambda;临时规则设置 `ttl_seconds` 或 `max_matches`。 6. 使用 `burp_export_flow` 或 `burp_export_flow_bundle` 保存关键证据。 ## 工具分组 | 类别 | 主要工具 | | --- | --- | | 状态与帮助 | `burp_bridge_status`, `burp_config_get`, `burp_mcp_list` | | 流量聚合 | `burp_target_overview`, `burp_marked_flows`, `burp_extension_activity_overview` | | 流量读取 | `burp_live_poll`, `burp_logger_poll`, `burp_history_search`, `burp_selection_poll`, `burp_flow_get` | | 重放与证据 | `burp_replay_flow`, `burp_send_raw_request`, `burp_send_to_repeater`, `burp_export_flow` | | 规则与拦截 | `burp_rules_list`, `burp_rule_upsert`, `burp_intercept_poll`, `burp_intercept_decide` | | Burp 扩展 | `burp_bcheck_import`, `burp_bambda_import` | `burp_bcheck_import.content` 接收 BCheck DSL 原文,不接收 JSON 或 Python 回调。多行规则可以先保存为 `.bcheck` 文件,再通过 `path` 导入。 ## 配置 | 配置项 | 默认值 | 说明 | | --- | --- | --- | | `bridgeUrl` | `http://127.0.0.1:9639` | Burp bridge HTTP 地址 | | `toolCallTimeoutMs` | `120000` | 单次 MCP 工具调用超时 | | `reconnectMaxAttempts` | `10` | stdio server 中断后的最大重连次数 | 也可以在启动 DSH 前覆盖运行环境: ```sh export DSH_BURP_MCP_PYTHON=python3 export DSH_BURP_MCP_SERVER=/absolute/path/to/server.py export DSH_BURP_MCP_CWD=/absolute/working/directory export BURP_MCP_BRIDGE_URL=http://127.0.0.1:9639 export BURP_MCP_PLUGIN_ROOT="$HOME/.dsh/burp-mcp" ``` WSL mirrored、Windows 本机和 macOS 本机通常可以使用 `127.0.0.1`。WSL NAT 需要把 `bridgeUrl` 指向 Windows 可达地址,并使用受控防火墙限制访问来源。 ## 安全边界 Burp bridge 可以读取敏感 HTTP 流量并执行请求重放、改写和拦截。默认监听 `127.0.0.1`;不要把端口 `9639` 直接暴露到不可信网络。远程部署应在 bridge 之外提供认证、传输加密和来源访问控制。 列表和聚合工具默认返回 compact metadata。完整 body 仅在 detail、replay 或 export 操作中按需读取。导出文件写入 `$DSH_HOME/burp-mcp/artifacts`,不会自动提交到本仓库。 ## 本地开发 ```sh git clone https://github.com/6jeffr3y/dsh-burpsuite-mcp.git cd dsh-burpsuite-mcp python3 -m pip install -r requirements.txt npm install --ignore-scripts npm run check npm run pack:check ``` 安装本地 checkout: ```sh dsh plugin --profile web add link:$PWD ``` ## License 本仓库及 Release 中的 Burp runtime artifacts 适用 [BurpSuite MCP Bridge Runtime Distribution License](LICENSE)。仅限授权安全测试与评估。
Install
dsh plugin --profile web add github:6jeffr3y/dsh-burpsuite-mcp
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-burpsuite-mcp from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.