Four real exploits. 48 graded fixes.

Each case is a contract that was exploited on chain, frozen one block before the attack. A fix counts only if the exploit fails and every hidden security and legitimate-use obligation passes. We attack our own verifier with 48 test fixes, the original contracts included as baselines: 15 of them stop the exploit and are still not repairs.

4 incidentsEthereum · BNB Chain48 test fixes15 stop the exploit, still fail
What makes a case count

A case ships only when it can catch a near-miss.

Four exploit classes today, all 2025 incidents from DeFiHackLabs, on verified contract source. Each clears the same bar before any fix is graded against it.

The exploit reproduces offline

Recorded from the chain once, then replayed with the network off until the exploit and every check run without missing state. The recording is the only data source.

Security obligations state the class

Each fails on the original contract by construction, so it can tell a repair from a non-repair, including the near-misses the exploit alone would pass.

Legitimate use is written down

Hand-written tests of what ordinary holders, traders and operators do, plus generated checks that the original functions survive.

The controls grade as intended

The reference repair and an independently written alternative must both be solved. Incomplete and destructive fixes must fail for the right reason; a build failure must be inconclusive.

The harness is locked

The exploit test and every hidden suite are hash-locked and re-verified before each run. A patch may only touch the contract source.

The grade reproduces

Each case’s reference and original grades hash identically on the local backend and in the no-network container, and every control re-grades to the same hashes on GitHub’s Linux runner, on every push.

Every verdict has a receipt.

All 48 grades with their checks, patches and hashes, and the method behind them.