Meta开源Bug Bounty研究工具包Zurp:让AI代理接管重复工作流

导语: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 工作流:Burp Suite 拦截 Meta 请求并附加 Meta View 注解,同时通过 MCP 暴露给 AI 代理

二、四大内置模块

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 入队到 Organizersparta 服务器

每个模块都遵循”只针对自己账号的数据”原则,不会越权访问他人信息。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”的双方测试场景得以成立。

Zurp 在请求路径上替换 {{fb_dtsg}} {{csrf}} {{lsd}} 等占位符的过程示意

三、安装与运行要求

从 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 Suite2024.7 或更新版本(Montoya JSON API 起自此版本)
Java仅源码构建需要 17+(Burp 运行插件自带 JVM)
Node.js22.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 该选哪个工具、哪些错误值得重试

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容