Zurp
Operate facebookincubator/Zurp, the MIT-licensed Meta bug-bounty research toolkit combining a Bur…
by akillness · MIT
The skill
Operate facebookincubator/Zurp, the MIT-licensed Meta bug-bounty research toolkit combining a Burp Suite Java extension with three standalone stdio MCP servers: meta-context, fbdl, and sparta. Use when fitting or preflighting a checkout, building the Jar or MCP package, registering servers, configuring researcher-token/proxy/TLS settings, running controlled FBDL/Meta-context/SPARTA workflows, or troubleshooting 403, token, rate-limit, startup, or SSL failures. Triggers on Zurp, bug-bounty-research, FBDL MCP, Meta Context, SPARTA, zurp.jar, or BB_RESEARCH_TOKEN.
Zurp operator guide
Zurp has two independently auditable surfaces:
- the Java Burp extension (
zurp.jar), which handles request annotations and FBDL/CSRF/sprinkle integration; and bug-bounty-research/, a Node package exposingmeta-context,fbdl, andspartaover stdio MCP.
This wrapper is pinned to c30c04e.
Read references/upstream.md for the audited command,
configuration, provenance, and per-tool evidence before relying on a detail not
included here.
When to use this skill
- Fit-check or offline-preflight a supplied Zurp checkout.
- Build the Java Jar or Node MCP package, then verify artifacts without spending API budget.
- Register absolute
dist/*.jsentry points with an MCP client. - Route one
meta-context, FBDL, SPARTA, or Burp request workflow and troubleshoot its first failure.
Use mcp-builder for generic MCP authoring, the browser skills for unrelated browser work,
and the checked-out upstream skills for detailed per-tool procedures. This skill does not
replace those sources.
Instructions
1. Select one mode
Choose fit, preflight, setup-build, register, use, verify, or troubleshoot.
State the selected surface (Burp, MCP, or both), requested side effect, checkout path,
and approval boundary before acting. Complete the mode only when its artifact, blocker,
or evidence is explicit.
2. Run the offline preflight first
The helper checks the host OS/architecture, Python 3.10+, the selected toolchain (Java/Gradle
for burp, Node/npm for mcp, or both for all), the public checkout shape, and an optional
caller-supplied commit. It does not inspect token values, environment files, or credentials;
it sanitizes inherited Git variables for bounded local revision checks, invokes no Java/Node/
upstream process, and makes no writes.
From the repository root:
python3 .agent-skills/zurp/scripts/preflight.py --json --surface mcp --repo /path/to/Zurp \
--expect-commit c30c04edd8a0a85f3ee980324b7edc8e814fadb3
From an installed skill root:
python3 "$SKILLS_ROOT/zurp/scripts/preflight.py" --json --repo /path/to/Zurp
Use --surface mcp for the Node/npm surface, --surface burp for Java/Gradle, or omit it
(all) to audit both toolchains. A non-selected toolchain is not a blocker.
Exit 0 means the local checks passed; exit 1 reports missing/mismatched prerequisites
or a failed local audit; exit 2 means invalid arguments. runtime_verified remains false:
tool presence is not a version, network, enrollment, or API-health claim.
3. Inspect, then build only with approval
For a checkout, inspect git -C /path/to/Zurp rev-parse HEAD and the source-owned files
listed in the reference. A different revision requires a fresh source read. Cloning,
checkout, dependency installation, and updates are network or write operations.
Source-owned build paths:
cd /path/to/Zurp && gradle jar # build/libs/zurp.jar
cd /path/to/Zurp/bug-bounty-research && npm install && npm run build
npm run typecheck # optional confidence check
npm install writes dependencies and may use the network. Do not start an MCP server merely
to prove that a process stays open; verify with a client-side, no-tool-call handshake instead.
4. Keep endpoint, scope, and replay gates
Before any live call, resolve the server-specific API base URL, then the shared base URL,
then the documented default. The pinned source accepts arbitrary URLs; inspect normalized
scheme and host. Send a real researcher bearer token only to documented
https://api.facebook.com; custom/test hosts require separate approval and a non-production
credential. Never print or copy token values.
Use read-only Meta Context resolution or FBDL language/reference tools before API-backed runs. FBDL runs are one-at-a-time and have source-documented cooldowns; create a run only with explicit approval. SPARTA findings are leads, and a built PoC is a template, not a verdict. Keep placeholders tied to controlled FBDL assets and obtain human approval before any state-changing Burp or GraphQL replay against researcher-owned accounts.
5. Verify and troubleshoot the first material failure
For MCP, check the three entry points (dist/meta-context/index.js, dist/fbdl/index.js,
dist/sparta/index.js) and list tools by server without invoking a tool. For Burp, verify
the Jar and loaded extension only through the approved host. Empty SPARTA results and unresolved
Meta symbols can be valid outcomes; do not loop on latched 401/403, rate limits, or retries.
Use the reference matrix for source warnings, TLS/CA handling, cooldowns, and provenance.
Examples
Safe first MCP turn
- Run the offline helper and compare the supplied checkout only when
--expect-commitis given. - Build only the requested package after approval; inspect absolute
dist/*.jspaths. - Handshake with an MCP client and list tools without calling one.
- Use Meta Context or FBDL language/reference operations first; gate runs and replay separately.
Absolute-path registration
meta-context -> node /path/to/Zurp/bug-bounty-research/dist/meta-context/index.js
fbdl -> node /path/to/Zurp/bug-bounty-research/dist/fbdl/index.js
sparta -> node /path/to/Zurp/bug-bounty-research/dist/sparta/index.js
Best practices
- Re-audit source-owned commands when the checkout is not the audited commit.
- Keep inventory, grammar, and no-budget verification separate from token-backed calls and metered replay.
- Prefer documented CA/proxy settings over disabling TLS verification; treat client config and
user.vmoptionsas plaintext credential surfaces. - Preserve Meta Context's symbol-versus-source distinction and SPARTA's lead-versus-vulnerability distinction.
- Keep upstream MIT and ported FBDL/ISC provenance intact; inspect per-file history before redistribution.
References
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: akillness/zurp-44047930539.
Details
- Publisher
- akillness
- Category
- Security › Application security
- License
- MIT
- Updated
- 2026-10-17
References
More from akillness
- A2A Protocol Agent-to-Agent horizontal messaging — Linux Foundation AAIF 2026 standard.
- Academic Research Full academic research pipeline from discovery to publication — 4 reference pipelines, 27 modes,…
- Agent Benchmarking Map agent capabilities to standard benchmarks (SWE-bench, WebArena, OSWorld, GAIA, TauBench) plus…
- Agent Guardrails Layered agent safety — prompt-injection defense, data exfiltration prevention, tool-misuse blocki…