FAMOUS-EXPLOIT SHAPE LIBRARY

12 famous exploits. Shape checks, not replays.

For each famous exploit below, HexRail encodes a static-analysis pattern that fires when code has a similar shape. These are not full exploit replays — they don't prove a contract is vulnerable, and they don't prove we'd have caught the original hack. They flag shape-level similarity so a reviewer can look closer.

Shape checks · live

6

Shape checks · partial

6

Combined losses

$3.04B

SHAPE CHECKSupply chain· Feb 2025

Bybit

Stolen

$1.46B

What went wrong

Safe{Wallet}'s S3-hosted frontend bundle was tampered to display a legit tx while signing a malicious one to Ledger hardware wallets. The vulnerability was in the deploy pipeline, not in any Solidity contract.

What HexRail checks

Workflow files (.github/workflows/*) using actions pinned to mutable refs (@main, @master, version tags) instead of full commit SHAs.

cp-hack-bybit-unpinned-action-checkout

Demo receipt →
SHAPE CHECK · PARTIALValidator concentration· Mar 2022

Ronin Bridge

Stolen

$625M

What went wrong

5-of-9 validator set where 4 were operated by Sky Mavis and 1 was a 'temporarily' delegated key never revoked. Single team compromise reached the threshold.

What HexRail checks

Bridge contracts with hardcoded signature thresholds in the 4-6 range — flagged as concentration risk relative to common deployments.

cp-hack-ronin-low-validator-threshold

SHAPE CHECK · PARTIALFlash loan + donation· Mar 2023

Euler Finance

Stolen

$197M

What went wrong

donateToReserves() let an attacker artificially push their own account into an unhealthy state, then self-liquidate at a discount.

What HexRail checks

Donate-shaped functions in lending/vault contexts. Real exploit requires checking the health-calc + liquidation path, which a regex cannot reason about — flagged for manual review.

cp-hack-euler-donate-self-liquidation

SHAPE CHECKGovernance flash loan· Apr 2022

Beanstalk

Stolen

$182M

What went wrong

Governance proposals could be executed in the same block they passed. Attacker flash-loaned BEAN, voted yes on a self-draining proposal, executed atomically.

What HexRail checks

execute / propose-and-execute functions without timelock keywords or block.timestamp checks in the immediate context.

cp-hack-beanstalk-instant-governance

Demo receipt →
SHAPE CHECKBridge admin compromise· Jul 2023

Multichain

Stolen

$126M

What went wrong

Bridge admin keys controlled by a single person (the CEO). When detained, attackers (or insiders) drained MPC-controlled addresses.

What HexRail checks

Bridge withdraw / unlock / mint functions gated only by onlyOwner/onlyAdmin with no multisig or threshold keywords nearby.

cp-hack-multichain-single-admin-bridge

SHAPE CHECKCompiler bug· Jul 2023

Curve Finance

Stolen

$73M

What went wrong

Vyper 0.2.15 – 0.3.0 generated broken reentrancy locks. Multiple pools were exploitable even though source code used @nonreentrant correctly.

What HexRail checks

Vyper @version directives pinned to 0.2.15, 0.2.16, or 0.3.0. Deterministic check on the version string — no ambiguity.

cp-hack-curve-vyper-version

SHAPE CHECKMultisig social engineering· Oct 2024

Radiant Capital

Stolen

$53M

What went wrong

INLETDRIFT malware on a developer machine intercepted the Gnosis Safe UI mid-signature. Three multisig members signed a malicious tx believing it was legit.

What HexRail checks

transferOwnership functions with no two-step / Ownable2Step pattern and no timelock in adjacent context.

cp-hack-radiant-immediate-ownership-transfer

SHAPE CHECKPrivileged sweep· Apr 2025

zkSync Airdrop

Stolen

$5M

What went wrong

An admin key was compromised. The attacker called sweepUnclaimed() to mint 111M tokens in a single transaction. No timelock or multisig was required.

What HexRail checks

Functions named sweep* / drain* / rescue* / emergencyWithdraw* / forceMint* gated only by onlyOwner or onlyAdmin.

cp-hack-zksync-admin-sweep-no-timelock

SHAPE CHECK · PARTIALOracle manipulation· Oct 2021

Cream Finance

Stolen

$130M

What went wrong

Collateral price computed from spot vault share supply. Attacker flash-loaned to inflate share supply, the oracle reported the manipulated value, and the attacker borrowed against fictitious collateral.

What HexRail checks

Pricing functions that compute totalSupply × X or balanceOf × X without TWAP or Chainlink fallback nearby.

cp-hack-cream-spot-share-pricing

SHAPE CHECK · PARTIALSignature verification· Feb 2022

Wormhole

Stolen

$325M

What went wrong

Guardian signature verification path used a stub set lookup with no strict hash check. Forged signatures against an empty / default set were accepted.

What HexRail checks

ecrecover usage in signature verification paths without an adjacent setHash / guardianSet equality check.

cp-hack-wormhole-unchecked-signature-set

SHAPE CHECK · PARTIALTrusted-root init bug· Aug 2022

Nomad Bridge

Stolen

$190M

What went wrong

An upgrade initialised the trusted-root mapping to 0x00. Any message with a zero-bytes proof became 'valid'. 300+ copy-paste attackers drained the bridge within hours.

What HexRail checks

Trusted-root / merkle-root lookups that don't explicitly reject the zero hash before treating it as a valid proof anchor.

cp-hack-nomad-zero-root-acceptance

SHAPE CHECK · PARTIALOracle manipulation· Oct 2022

Mango Markets

Stolen

$114M

What went wrong

Mango used a thin spot-AMM oracle for MNGO collateral. The attacker pumped MNGO price ~10× via CEX wash trades, the oracle reported it, and they borrowed $114M.

What HexRail checks

Borrowing / liquidation functions reading getPrice / latestAnswer with no TWAP, deviation, or staleness check in the immediate context.

cp-hack-mango-single-source-oracle

The honest version: A “shape check” here means a pattern that fires when code looks structurally similar to the cited exploit. It is not a proof that the exploit is reachable, and it is not a guarantee HexRail would have caught the original. Pattern matching is fast and cheap; it is not symbolic execution, and it does not catch business-logic bugs. Partial means the rule covers part of the exploit chain — treat as “manual review needed.”

Run a shape check against all 12 patterns

Drop a Robinhood address. Free, no signup. Receipt page generated for every scan. Not an audit.

Run preflight scan →