模型 / 数据集
six2dez/burp-ai-agent avatar
six2dez/burp-ai-agent

Custom AI Agent:把 MCP 工具接进 Burp Suite 的 Kotlin 扩展,以及 0.9.x 必须换令牌的原因

Burp Suite extension that adds built-in MCP tooling, AI-assisted analysis, privacy controls, passive and active scanning and more

1,497 个 Star221 个 ForkKotlinMIT

秒懂

它是什么?
这个扩展让外部 AI 客户端通过 MCP 驱动 Burp,同时自带被动与主动扫描。1.0.0 修掉了两个由外部评审实际运行代码确认的缺陷,其中 MCP 访问控制在匹配路由上失效一条要求轮换令牌。
适合谁用?
适合已经在用 Burp 做手工测试、并且希望让 Claude Desktop 或 CLI 类 AI 客户端直接调用 Burp 能力的人;不适合指望装完就自动出报告的人,也不适合无法接受把请求内容交给第三方模型的人。上手前先确认三件事:你装的是 full 还是 store 构建(MCP 工具数 59 与 8 的差别),你打算用哪个后端,以及你是否跑过 0.9.0 到 0.9.2,跑过就先按 SECURITY.md 轮换 MCP 令牌和相关 cookie 再升级。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 13 天前。
用什么语言写的?
主要是 Kotlin(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它填的是 Burp 与外部 AI 客户端之间的那段空白

Burp Suite 自己有一套 AI 能力,但这个扩展要解决的是另一个问题:让外部 AI 客户端把 Burp 当成可调用的工具集。README 把它描述为 Burp Suite 与现代 AI 之间的桥,具体做法是内置 MCP 服务端,并附带 59 个 MCP 工具。目标用户是渗透测试和漏洞赏金方向的人,日常在 Burp 里做手工测试,同时已经在用 Claude Desktop、Claude Code、Gemini CLI、Codex 这类客户端。

它没有把自己定位成替代 Burp 的扫描器。README 的措辞是让被动和主动扫描器去找漏洞,人专注手工测试。这句话隐含了一个前提:使用者愿意把一部分请求内容交给模型处理,而扩展为此提供了三档隐私模式作为缓冲。

MCP 服务端、工具审批与扫描器三条链路

从仓库材料能看出的机制有三条。第一条是 MCP:扩展监听本地端口,外部 MCP 客户端连接后可以调用工具,工具范围可以按 in-scope 主机收窄,README 称之为 Scoped MCP Access,目的是防止外部客户端借 Burp 打到范围外的目标。第二条是工具调用审批:从模型输出里解析出来的工具调用不会直接执行,只读且有边界的工具静默放行,其余走聊天里的审批卡片,工具名无法识别时一律确认,绝不静默执行。第三条是扫描:被动扫描器以 Burp 的 PassiveScanCheck 形式注册,因此需要 Burp Pro;主动扫描器覆盖 README 所说的 62 个漏洞类别,横跨注入、认证、加密等方向。

隐私模式分 STRICT、BALANCED、OFF 三档,作用是在数据离开 Burp 之前做脱敏。审计日志用 JSONL 存储,带 SHA-256 完整性哈希,每次启动记录 promptSource 和 contextKind。这套设计明显是给需要复现和留痕的场景准备的,而不是给随手跑一次的场景。

装起来:Gradle 构建与首次运行落地的目录

README 给的路径是下载 Releases 里的 JAR,或者用 Java 21 从源码构建。full 构建是默认行为,产出 build/libs/Custom-AI-Agent-full-<version>.jar,包含全部 59 个 MCP 工具;加 -PstoreBuild=true 得到 store 构建,只保留 8 个扩展原生 AI 工具。命令是 JAVA_HOME=/path/to/jdk-21 ./gradlew clean shadowJar。

装进 Burp 的方式是 Extensions > Installed > Add,类型选 Java,指向 JAR。扩展在列表和 Suite 标签页里显示为 Custom AI Agent,这是为了和 Burp 内置的 Burp AI 区分开。首次运行会把自带 profile 装到 ~/.burp-ai-agent/AGENTS/,往这个目录丢 *.md 文件就能加自定义 profile。注意配置目录名仍然是 burp-ai-agent,仓库名和文档站也没改,只有展示名变了。

有一个现实约束:README 明确写了它不在 BApp Store 上,提交 issue 从 2026 年 1 月挂到现在。也就是说升级路径是自己盯 Releases,而不是等商店推送。

0.9.x 的两个缺陷决定了升级不是可选动作

这一节是这篇文章最该被读到的部分。README 顶部的警告说,跑 0.9.0、0.9.1 或 0.9.2 的人应该先读 SECURITY.md 的 advisories 再升级。两个缺陷由外部评审在 2026-08-05 通过实际运行发布代码确认,都影响每一个已发布的 0.9.x 版本,其中一个要求轮换可能已经泄露给第三方的凭据。两者都在 1.0.0 修复,且没有 CVE 或 GHSA 编号,README 直接说不要去找编号。

SEC-04 被标为 critical,问题是 MCP 的访问控制检查没有跑在解析后的路由上。开启外部访问时,监听端会接受未认证的工具调用;本地模式下,Origin、Host、User-Agent 检查和响应安全头在匹配路由上等于失效。修复方式是把判定提前到路由之前。PRIV-05 被标为 high,问题是会话 cookie 在 STRICT 和 BALANCED 两档下未脱敏就发到了 AI 后端。被动扫描器把 cookie 发成裸的 name=value,丢掉了脱敏所依赖的前缀,而且只有名字恰好是 session 的 cookie 会被拦下。

同一批修复里还有几项值得单独看:MCP 端口被本地进程抢占时不再泄露令牌,抢占客户端改为出示 HMAC 持有证明,TLS 下还会把服务端证书固定到自己的 keystore;SsrfGuard 现在能识别替代 IP 写法,http://2852039166/ 这种 169.254.169.254 的十进制写法不再仅凭写法绕过私网与链路本地告警,且分类过程完全不做域名解析;shell 参数按允许列表加引号,堵住了设置导入到命令执行的一条路径。这些细节说明 1.0.0 不是一次功能发布,而是一次安全正确性发布。

store 构建与 full 构建不是同一个东西

README 里最容易看漏的一行是工具数量:完整构建 59 个 MCP 工具,商店构建只有 8 个扩展原生 AI 工具。如果你按 BApp Store 的思路去理解这个项目,会以为装哪个都一样,实际差别很大。做 MCP 驱动 Burp 的自动化流程,8 个工具和 59 个工具能覆盖的操作面完全不同。

另一处取舍是后端选择。README 列出 12 个后端,包括 Burp AI 内置、Anthropic、Ollama、LM Studio、NVIDIA NIM、Perplexity、通用 OpenAI 兼容接口,以及 Gemini CLI、Claude CLI、Codex CLI、OpenCode CLI、Copilot CLI。本地模型这条线(Ollama、LM Studio)和云后端这条线在数据出不出本机这件事上是相反的,隐私模式只能缓解,不能改变数据最终落在谁那里。

它不适合谁,以及和纯 MCP 桥的差别

最直接的替代品是只做 MCP 桥接的 Burp 扩展:那类工具把 Burp 的能力暴露给 AI 客户端,但不管扫描逻辑,也没有隐私分级和工具审批。Custom AI Agent 把扫描器、隐私模式、审批卡片、审计日志都收进同一个扩展,代价是配置面变大,你需要同时决定后端、隐私档位、MCP 暴露范围、审批策略。如果你只想要一个把请求丢给模型看两眼的通道,这些配置是负担。

它也不适合无法把目标请求内容交给第三方模型的人。STRICT 档位能减少外发内容,但 README 没有给出脱敏规则的完整清单,PRIV-05 恰好说明脱敏逻辑曾经在 cookie 上漏掉。对合规要求严格的目标,先读 SECURITY.md 再决定是否启用云后端。

还有一个使用前提容易被忽略:被动扫描器注册为 PassiveScanCheck,这条依赖 Burp Pro。Community 版用户能用的部分要按 README 的描述重新核对,材料里没有给出 Community 下的功能对照表。

维护成本、许可证与升级前该做的核对

项目用 MIT 许可证,仓库未归档,最近一次推送是 2026-09-02,1.0.0 发布于 2026-08-22,节奏上属于活跃维护。MIT 意味着你可以修改和再分发,但许可证不覆盖你接进去的模型服务条款,也不覆盖 Burp 自身的授权,这两件事要分开看。这里不构成法律意见。

维护成本主要落在两处:一是自建构建,因为不在 BApp Store,升级要自己拉 Releases 或重新跑 shadowJar;二是后端与 MCP 客户端的组合会随上游变化,CLI 类后端尤其如此。README 提到测试套件从 660 涨到 1131 个测试、158 个测试类,行覆盖率 34% 升到 58%,detekt 基线从 1096 缩到 1040。覆盖率 58% 意味着仍有相当比例的代码没有测试覆盖,对安全工具来说这个数字值得你在采用前自己评估。

升级前该核对的具体项:确认当前版本是否落在 0.9.0 到 0.9.2 区间,如果是,按 SECURITY.md 的指引轮换 MCP 令牌和受影响的 cookie;确认你下载的是 full 还是 store 构建;确认 ~/.burp-ai-agent/AGENTS/ 下的自定义 profile 在升级后仍被加载。这几步都能从仓库材料里直接对应到具体文件或目录。

编辑结论

适合已经在用 Burp 做手工测试、并且希望让 Claude Desktop 或 CLI 类 AI 客户端直接调用 Burp 能力的人;不适合指望装完就自动出报告的人,也不适合无法接受把请求内容交给第三方模型的人。上手前先确认三件事:你装的是 full 还是 store 构建(MCP 工具数 59 与 8 的差别),你打算用哪个后端,以及你是否跑过 0.9.0 到 0.9.2,跑过就先按 SECURITY.md 轮换 MCP 令牌和相关 cookie 再升级。

官方来源

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. six2dez/burp-ai-agent on GitHub
社区笔记

社区笔记