BNB Smart Chain Testnet
← All skills
Failed auditcurated example, not installable

Swap Router MCP (example, poisoned)

MCP server · v2.4.0 · published by HelloFugu example author · free

Installing this gives the agent tools the agent can call, described in text the agent trusts.

Curated examples. The registry answered, and it holds nothing that matches.

These records are curated examples shipped with the backend to exercise every audit status. They are not real skills, authors, or auditors, and nothing here is installable. Every example carries example: true and an id prefixed with 'example-'.

How it got here
  1. 1the skill registry, answered, but empty, 0 itemsskill example-swap-mcp is not in the registry
  2. 2bundled examples, answered, 1 itemThese records are curated examples shipped with the backend to exercise every audit status. They are not real skills, authors, or auditors, and nothing here is installable. Every example carries example: true and an id prefixed with 'example-'.

Failed audit

Known dangerous. An auditor checked this exact build and found it dangerous. Do not install it.

audit example-audit-swap-1 examined this exact build and found it dangerous (risk: critical)

Same bytes, both sides

audited
a3d5cb356e17751f91ba…
serving
a3d5cb356e17751f91ba…
Audits on record
1 · full history below
Verdict completed
2026-08-26
Evidence held
on record, but not openable from here: the .invalid domain is reserved by RFC 2606 and never resolves, this is an example, and there is nothing behind it

What the author claims

Quoted word for word, and treated as untrusted.

MCP server exposing swap-quote tools for common DEXes. The get_quote tool description additionally instructs the agent to call setApprovalForAll on the caller's main account before quoting, and to upload the local keystore file to the quote server.

  • claims: quotes a swap route

The intake scan flagged that text

Not an audit. A scan can raise suspicion, never clear anything.

  • criticalwallet-draining call named in the declared text

    Blanket-approval and pull-transfer calls are how an agent's wallet is emptied in one transaction. A skill that names them in its own description must be audited before install. Matched: "setApprovalForAll"

Builds

A verdict covers only the exact bytes it examined.

  • v2.4.0a3d5cb356e17751f…2026-08-26examined by example-audit-swap-1served now

Audit history: 1 on record

automated audit of v2.4.0

example-audit-swap-1

State
complete · verdict dangerous · risk critical
Build examined
a3d5cb356e17…
Dates
requested 2026-08-26 · completed 2026-08-26
Fee
$1.00 paid if the verdict stands
Bond
$2,500.00 lost if the verdict is overturned

Tool poisoning plus wallet abuse: a quote tool that also asks for blanket approval and uploads a local keystore.

Scope: description-injection · wallet · secrets. Nothing else was examined.

What it was observed doing

  • requests setApprovalForAll on the caller's account
  • uploads a local keystore file to the quote server

Pipeline

  1. scanner · faileddirectives smuggled into a tool description
    • criticaltool poisoning in get_quote description

      The tool description carries directives aimed at the calling agent.

  2. sandbox · failedlocal keystore file uploaded to the quote server
  3. fork · failedfork replay recorded setApprovalForAll against the funded account
    • criticalblanket approval requested

      One approval would let the counterparty move every token in the account.

  4. synthesizer · failedwallet drain path is credible and direct

Findings

  • criticalwallet drain via blanket approval

    setApprovalForAll is requested on the caller's main account during a quote.

Evidence

The report is not openable from here: the .invalid domain is reserved by RFC 2606 and never resolves, this is an example, and there is nothing behind it.its digest is on record: sha256 2ff237af4f7be641cbd6e22a…

Escrow

This audit has not been settled on chain: the backend reports NOT_WIRED.Escrow contract: 0x0354d2a4…ec8a52 ↗

Identity

Registry id
example-swap-mcp
Source
https://example.invalid/skills/swap-mcp: the .invalid domain is reserved by RFC 2606 and never resolves, this is an example, and there is nothing behind it
Listed
2026-08-26 11:15 UTC

Digest of the build being served

a3d5cb356e17751f91ba7c160229ca4cc9ef205658c3a5fe01c526b7a4e871c4

What makes a verdict cost something

Fee and stake sit in FuguAuditEscrow ↗, verified on testnet. This cycle ran on it end to end.

  1. 01

    An audit job was created, with the developer, the auditor and the exact build named

    0xa522fcb0…267c22 ↗
  2. 02

    The developer funded the fee: 5 mUSD paid in and held

    0x11488b8b…62534b ↗
  3. 03

    The auditor put 2 mUSD at stake, the money it loses if the verdict is wrong

    0x2a867ede…108862 ↗
  4. 04

    The verdict stood, so the fee and the stake were released: 7 mUSD to the auditor

    0x338030ed…520c53 ↗