nicolasgarcia214 / damn-vulnerable-defi-foundry

Damn Vulnerable DeFi - Foundry Version
MIT License
494 stars 189 forks source link
blockchain crypto ctf ctf-challenges ethereum smart-contracts solidity testing web3

Damn Vulnerable DeFi - Foundry Version ⚒ī¸

Open in Gitpod

Github Actions Telegram Support

Twitter Follow

Visit damnvulnerabledefi.xyz

Acknowledgement

Big thanks to Tincho who created the first version of this game and to all the fellows behind the Foundry Framework

Damn Vulnerable DeFi is the wargame to learn offensive security of DeFi smart contracts.

Throughout numerous challenges you will build the skills to become a bug hunter or security auditor in the space. đŸ•ĩī¸â€â™‚ī¸

How To Play 🕹ī¸

  1. Install Foundry

First run the command below to get foundryup, the Foundry toolchain installer:

curl -L https://foundry.paradigm.xyz | bash

Then, in a new terminal session or after reloading your PATH, run it to get the latest forge and cast binaries:

foundryup
  1. Clone This Repo and install dependencies
    git clone https://github.com/nicolasgarcia214/damn-vulnerable-defi-foundry.git
    cd damn-vulnerable-defi-foundry
    forge install
  2. Code your solutions in the provided [NAME_OF_THE_LEVEL].t.sol files (inside each level's folder in the test folder)
  3. Run your exploit for a challenge
    make [CONTRACT_LEVEL_NAME]

    or

    ./run.sh [LEVEL_FOLDER_NAME]
    ./run.sh [CHALLENGE_NUMBER]
    ./run.sh [4_FIRST_LETTER_OF_NAME] 

    If the challenge is executed successfully, you've passed!🙌🙌

Tips and tricks ✨

Preinstalled dependencies

ds-test for testing, forge-std for better cheatcode UX, and openzeppelin-contracts for contract implementations.