Skip to content

Don’t trust the fix. Replay the attack.

AI agents now write smart-contract security fixes in minutes. SCAR tells protocol teams, audit firms and bounty platforms which ones hold: we fork the chain one block before a real exploit, replay the attack against the fix, test that legitimate use still works, and return a verdict with receipts.

01 Fork

Fork one block before the exploit.

Ethereum mainnet frozen at block 21,720,380 and served from 134 recorded RPC responses. The network is off.

02 Replay

Run the attack twice.

Once as it happened, once against the fix — with four hidden security obligations and twelve legitimate-use obligations.

03 Verdict

Ship the fix that holds.

Solved, not solved or inconclusive — with a canonical hash anyone can reproduce.

Live today
Next
Later
  • 48 incident families, and Solana
  • Verdicts as attestations and underwriting inputs
The problem

Exploits hit a record. Fixes are still graded on trust.

Agents now write and patch the code that holds money. Review built for humans takes weeks, the vendors score themselves, and “fixed” usually means a test suite still passes — not that the attack stopped working.

207

hacks in the first half of 2026 — the most TRM Labs has recorded in any six-month period.

125

of them exploited smart-contract code, the most common kind of incident.

2.5×

the incident count of the same half-year in 2025, when TRM recorded 83.

Source: TRM Labs, H1 2026 crypto hacks review. Figures are incident counts, 1 July 2026.

How it works

“Fixed” should mean the attack fails.

SCAR does not read the patch and form an opinion. It runs the real exploit against the patched contract on chain state frozen at the incident, then checks what the fix was never shown.

Fixed, as it is usually graded

One check, written by whoever wrote the fix.

  • ✓The test suite passes1 check
Probably

A fix that stops the demo exploit and leaves every other holder exposed passes this check.

Fixed, as SCAR grades it

The real exploit, plus sixteen hidden checks, on the real chain state.

  • ✓Historical exploit replayed at block 21,720,380blocked
  • ✓Hidden security obligations4 / 4
  • ✓Legitimate-use obligations12 / 12
  • #Canonical grade hashf34d89ba…963e
Solved

Or not solved. Or inconclusive — a missing piece of state is never counted as a pass.

Watch a recorded run

Two of these fixes stop the exploit and still are not repairs.

Five candidate fixes for the MCAI incident, re-run on 20 September 2026: the four complete grades matched their archived hashes, and the missing-state run matched its outcome. An exploit-only check accepts both of those two. SCAR rejects them and names the checks they fail. The run below starts on the incomplete repair, one of the two. Pick any fix to replay its recorded grade with the verifier’s real test names and failure messages.

mcai_2025_01 · task v2 · Ethereum mainnet · chain 1
Recorded run · replayed in your browser
    Verdict
    —

    Select a patch to replay its recorded grade.

    core —
    strict —
    Exploit—
    Security— / 4
    Legitimate use— / 12
    Reproduce $ python -m evmpatch_env.sandbox tasks/mcai_2025_01 --patch worked_example/mcai_2025_01/controls/pair_only_allowance_fix/Token.sol --backend local --sha256
    Solved

    The exploit is blocked, every hidden security obligation passes, and legitimate use still works.

    Not solved

    The exploit lands, the repair is incomplete, or it breaks legitimate use. The receipt says which.

    Inconclusive

    Missing state or a failed build. Reported on its own, never credited as a pass.

    PatchExploit-only checkSCAR verdict

    Exploit-only check: what a grader holding only the exploit test would say. On the missing-state run the exploit test still fails with a declared reason, so it would credit a run with half the evidence missing.

    In use

    Already in use.

    The open core ships first: it is how practitioners find SCAR, and how anyone can check that the verdicts are what we say they are.

    “The model he trained helped me retrieve relevant vulnerability patterns more effectively and push the recall rate even higher during the competition.”
    SunSec, founder of DeFiHackLabs, on SCAR’s retrieval model in his 1st-place entry in the OneSavie Bastet Kaggle competition for LLM smart-contract auditing · 20 July 2026 · Read the thread
    231,269

    contracts in the public corpus, released on Hugging Face in April 2026.

    7,552

    auditor-finding pairs, with 838 evaluation pairs, in the same release.

    Listed on

    • Prime Intellect Environments Hubevmpatch-env
    • Hugging Face4 datasets · 1,390 downloads

    Grant

    • Ethereum Security QF round2026

    Figures as of September 2026.

    The platform

    One trusted check. Three products run on it.

    Incident cases go in; verdicts with receipts come out, for the teams shipping fixes, the vendors being scored and the agents learning to repair.

    Input

    Incident cases

    Real exploits on frozen chain state. A case counts only once its exploit is reproduced offline, its hidden security and legitimate-use obligations are written, and its control patches grade as intended.

    Live · 4 incidents · 48 controls
    Core

    Fix Verifier

    Replays the attack against a fix, checks the hidden security and legitimate-use obligations, and returns solved, not solved or inconclusive — with a receipt anyone can replay.

    Live · open source

    Each qualified incident is used three ways: to verify a fix, to score tools on the planned board, and to train repair agents. Every verdict is a hashed receipt that replays offline. Bound to the exact patch and signed, a receipt can become an attestation a counterparty checks before it trusts a fix, as agent standards add validation registries such as ERC-8004.

    Why start here

    Smart contracts first

    Their exploits are public, replayable and priced in dollars, so a verdict can be checked against the real attack.

    What carries over

    The method, not the chain

    Replay the attack, check what the fix was never shown, hash the result. It applies wherever an attack can be reproduced.

    Who pays

    Whoever signs off a fix

    Protocol teams before a fix holds money, audit firms and bounty platforms for independent review, AI audit vendors for re-grading. Public grades stay free, and no payment ever touches one.

    Evidence

    Models can write fixes. Graders cannot tell which ones hold.

    1. Models write fixes. DeepSeek V4 Pro repaired a real exploit in 10 of 16 graded attempts.
    2. Graders over-credit them. A public patch benchmark gave an open-weight model 11 credits; 5 were real repairs. Another benchmark’s grader accepted 20 patches; 13 could not be shown to preserve legitimate use.
    3. SCAR tells them apart. We attack our own verifier first: 15 of our 48 control patches stop the exploit and still fail.
    Models, graded on the real thing

    DeepSeek V4 Pro

    16 attempts across the four incidents
    10 solved2 not solved4 inconclusive

    Every incident solved at least once. Hard enough to matter, tractable enough to train against.

    Qwen3.8-27B, open weights

    A public patch benchmark gave it 11 credits. We read every one.
    5 real repairs2 partial1 adjacent gap1 broke use2 off-target

    A credit is not a repair until somebody checks.

    48 control patches · four historical incidents
    Solved Blocks the exploit, incomplete Blocks the exploit, breaks use Exploit not blocked Inconclusive

    Of the 48 graded controls, 26 block the exploit. Only 11 grade as complete repairs. SCAR marks the other 15 not solved: 8 incomplete, 7 that break the protocol.

    Four exploit classes today: broken access control (MCAI, Ethereum), reward accounting (GoldReserve, BNB Chain), unbounded batch payout (Bitallx, BNB Chain) and AMM reserve manipulation (NGP, BNB Chain).

    Public benchmark audit22.7%

    of files in a public AI-audit benchmark have a near-identical twin (token similarity ≥ 0.8) in public contract corpora — 122 exact. A lower bound.

    Accepted-patch audit13 of 20

    patches an execution-based benchmark’s own grader accepted could not be shown to preserve legitimate use. 5 did; 2 broke it. It counts an out-of-gas replay as “behaviour preserved”.

    Our held-out set0 of 764

    queries in SCAR’s held-out evaluation set overlap those corpora, under the same test.