## https://sploitus.com/exploit?id=C2E7EBBB-C89D-5208-BA04-9ABBF5CC58A8
# Smart Contract Security Training
Hands-on smart contract security training with **runnable Foundry PoCs** β not just theory.
## What's inside
| Track | Coverage | Status |
|---|---|---|
| **Ethernaut (classic)** | All 31 levels β solution + exploit tests | β
31/31 |
| **Ethernaut 2025** | 9 new levels β signatures, EIP-7702, reentrancy | β
7/9 (2 WIP) |
| **Damn Vulnerable DeFi** | 10 exploits β reentrancy, oracle, access control | β
done |
| **Reports** | HackenProof/Immunefi-style write-ups | β
4 examples + template |
Every exploit is a **Foundry test you can run** β see exactly how the attack works, then read the report for the fix.
## Highlights (Ethernaut 2025)
- **Impersonator / Forger** β ECDSA signature malleability bypasses used-signature guards
- **EllipticToken** β spoofable permit hash drains a signer's balance
- **UniqueNFT** β EIP-7702 turns an EOA-only mint into a reentrancy hole
- **BetHouse** β deposit + lock flow to register as bettor
- **MagicAnimalCarousel** β crate owner overwrite
## Quick start
```bash
git clone https://github.com/Doritra/smart-contract-security-training.git
cd smart-contract-security-training
forge build
forge test # runs every exploit + control test
```
Requirements: [Foundry](https://getfoundry.sh) (forge).
## Layout
```
src/ethernaut/ # Ethernaut classic level contracts
src/ethernaut2025/ # Ethernaut 2025 fixtures (local models of the originals)
test/ethernaut/ # exploit + control tests (classic)
test/ethernaut2025/ # exploit + control tests (2025)
```
## Reports
HackenProof/Immunefi-style write-ups for the exploits (severity, root cause, PoC, impact, fix):
- [`reports/`](reports/) β template + 4 example reports
## Notes
- The 2025 fixtures are **local models** of the originals (same vulnerability, same exploit surface) β the originals require OpenZeppelin 4.6-era dependencies not vendored on modern Foundry.
- Withdrawal of Forger mints 200 ether; cashback uses EIP-7702 delegation (`0xef0100` prefix) β see the tests.
## License
MIT