导语:Meta Bug Bounty 团队把内部研究员使用多年的工具集 Zurp 完整开源到 GitHub,以 Burp Suite 插件 + MCP 服务器两种形态发布,覆盖 GraphQL 标识解析、CSRF token 自动续期、FBDL 测试账号获取等高频环节,并同步给 AI 代理调用入口。
一、工具定位:解决 Meta 内部研究链路上的”看不见”问题
研究 Meta 产品(Facebook、Instagram、Whatsapp 等)端点的安全研究员,过去每遇到一个 Meta 请求都要在多个工具之间来回切换:一个查 opaque ID 对应的实体,一个拿 FBDL 测试账号,一个处理 fb_dtsg / csrf token,一个寻找潜在攻击面。Zurp 的目标是把这四件事统一到 Burp Suite 这一处,再通过 MCP 服务器把相同能力暴露给 AI 代理。
GitHub 仓库自述把这种工作方式描述为”把 Meta 请求真正讲得通的上下文带到研究员已经工作的地方”。换言之,每一个 Meta 请求和响应都会自动获得一个 Meta View 标签页,把请求里的标识符翻译成它实际指向的对象。

二、四大内置模块
Zurp 在一份 jar 包里同时交付四个能力相互独立的工具,可以单独使用任意一个:
| 工具 | 解决的问题 | Burp 端入口 | AI 代理端 |
|---|---|---|---|
| Meta Context | 这个 id / URL / doc_id / operation 究竟是什么 | 每个 Meta 请求的 Meta View 标签 | meta-context 服务器 |
| FBDL | 从哪里获取自己有权测试的账号 | FBDL 标签 + {{fbdl.*}} 占位符 | fbdl 服务器 |
| CSRF / sprinkle | 为什么抓到的请求重放就报错 | 请求路径上自动处理 | 无(属于请求路径上的能力) |
| SPARTA | 哪些地方值得去看一眼 | SPARTA 标签,PoC 入队到 Organizer | sparta 服务器 |
每个模块都遵循”只针对自己账号的数据”原则,不会越权访问他人信息。GitHub 仓库里展示的真实示例如下:
POST /api/graphql/ HTTP/2
Host: www.facebook.com
Content-Type: application/x-www-form-urlencoded
fb_dtsg={{fb_dtsg}}&jazoest=0&doc_id=9876543210987654&variables={}
Zurp 会从浏览器浏览过的响应里抓取 fb_dtsg 等 token,再把 Repeater 中的占位符替换成实际值,并且按 host + 登录账号分别存储——这让”受害者 cookie 一个 tab,攻击者 cookie 另一个 tab”的双方测试场景得以成立。

三、安装与运行要求
从 Release 直接下载(推荐)
- 下载地址:https://github.com/facebookincubator/Zurp/releases/latest
- 在 Burp 中操作:Extensions → Installed → Add → Extension type
Java→zurp.jar - 打开 Zurp 标签页,把研究员 token 粘贴到 Settings → Access Token 即可
从源码构建
需要 JDK 17 及以上版本与 Gradle:
git clone https://github.com/facebookincubator/Zurp
cd Zurp
gradle jar # -> build/libs/zurp.jar
gradle test # 可选;不会触网
启动 MCP 服务器(给 AI 代理用)
bug-bounty-research/ 子目录是一个独立的 Node 包,与 Java 主程序没有共享代码。安装方式:
cd bug-bounty-research
npm install
npm run build # tsc -> dist/
npm test
构建产物 dist/meta-context/index.js、dist/sparta/index.js、dist/fbdl/index.js 分别是三个独立的 stdio MCP 服务器,按需在 Claude Code、Muse Code 等客户端里注册即可。
平台要求一览
| 项 | 要求 |
|---|---|
| Burp Suite | 2024.7 或更新版本(Montoya JSON API 起自此版本) |
| Java | 仅源码构建需要 17+(Burp 运行插件自带 JVM) |
| Node.js | 22.19.0+,仅运行 MCP 服务器时需要 |
| MCP 客户端 | Muse Code / Claude Code / 任意走 stdio 的 MCP 客户端 |
macOS 和 Linux 是文档默认平台,Windows 同样可用,只是路径写法不同。
四、获取研究员 Token
Zurp 全部能力都挂在与 FBDL 相同的准入名单上:
- 准入标准:https://www.facebook.com/whitehat/fbdl/
- Token 生成:https://www.facebook.com/whitehat/fbdl/generate_api_token
- Token 有效期:60 天,驱动扩展和全部三个 MCP 服务器
仓库专门提示一个常见踩坑点:必须以已注册的研究员账号登录状态生成 token,否则后续所有调用都会以 403 失败,并且报错信息不会指明是哪一个账号被拒。生成后再次登录浏览器账号也不会告知此 token 是哪一份登录态下签发的——这是最常见的设置失败原因。
五、与其它 Meta 研究工具的差异
仓库在多处把这份清单梳理为:
- 降低 Meta 安全研究的门槛:把研究员日常需要的”查询 → 重放 → 取号 → 测试”串成一条最短路径;
- AI 代理友好:所有能力同时通过 MCP 暴露,Agent 调度时与 Burp 端使用同一组 token 和同一份 API;
- MIT 协议:核心仓库为 MIT 许可证,
bug-bounty-research/中的 FBDL 服务器移植自 Ads Dawson 的 fbdl-mcp,原项目为 ISC 协议。
对于发现真实 Meta 安全漏洞的研究员,仍然要走 https://bugbounty.meta.com/ 报告,不要在 GitHub Issue 中披露。
六、配套资料
仓库内置的扩展阅读:
docs/CONFIGURATION.md:每一项设置、env、JVM 启动参数与SSLProtocolException的修法docs/ARCHITECTURE.md:数据模型、请求配额与已知缺口bug-bounty-research/README.md:三个 MCP 服务器的工具面与逐客户端配置(含 Muse Code 配置”静默失败”的几种情形)bug-bounty-research/skills/:教 Agent 该选哪个工具、哪些错误值得重试
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容