Repository navigation
EVM Audit Lab v0.2.0
Ten complete, reproducible Solidity security labs — the lab index is
now fully delivered. Each lab pairs a vulnerable contract with its
remediated counterpart plus Foundry exploit and regression tests.
New in v0.2.0 (labs 08–10)
| # | Lab | Vulnerability class |
|---|---|---|
| 08 | Signature Replay | missing nonce/deadline/domain binding on signed payouts (SWC-121, SWC-117) |
| 09 | Privileged Mint | unprotected supply creation on a 1:1 ETH-backed token (SWC-106) |
| 10 | Unchecked Return Value | discarded bool from transfer / low-level call (SWC-104) |
Highlights
- 29/29 Foundry tests green,
forge fmt --checkenforced in CI. - Lab 08 covers replay, cross-contract reuse, expired deadlines and
malleable high-s forgeries against an EIP-712 domain separator. - Lab 09 demonstrates a full reserve drain from a missing access check,
with role-based minting + hard supply cap as the remediation. - Lab 10 reproduces the classic USDT-style silent failure: a phantom
"paid" claim with tokens stuck in the router. - All ten labs follow the five-section method: threat model, violated
invariant, minimal reproduction, remediation, regression test.
Verify locally
forge install
forge test -vv