Audit tooling

Pre-audit checklists

Pick a protocol category. You get the root causes that killed similar protocols, the protocols they killed, and the checks that find them.

NFT & Marketplaces

01

Missing buyer authorization

fillSellOrder validates the seller's signature but not the buyer — the attacker fills their own order with the victim's tokens.

KilledQuixotic

Checks

  • Every marketplace fill: is msg.sender checked against the buyer field?
02

Reentrancy via onERC721Received

safeTransferFrom triggers the receiver's hook mid-health-check — collateral is re-supplied against stale state.

KilledOmni

Checks

  • State updated BEFORE every safeTransferFrom of a collateral NFT?
03

Metadata injection (XSS/URI swap)

Attacker-controlled fields rendered into tokenURI/SVG without escaping — XSS through NFT metadata, or the URI is mutable after sale.

KilledNFT metadata XSS classLoot-style exploits

Checks

  • Is every user-controlled string escaped in the SVG/JSON?
  • Is the tokenURI frozen at mint?