Offensive Vyper is a Vyper-based Capture the Flag. All contracts are written in Vyper and all exploits should be written in Vyper.
The development environment is Hardhat using Ethers.js as the client library. The Hardhat environment includes a Vyper plugin for contract compilation and testing.
To get started, clone this repository.
git clone https://github.com/JoshuaTrujillo15/offensive_vyper.git
Then install dependencies. You will need node
, npm
, and optionally, yarn
.
# if using yarn
yarn
# if using npm
npm i
To begin a challenge, follow the links under Challenges. This will lead you to an overview, the contracts in scope, the exploit contract, and the test.
To write an exploit, use the corresponding Vyper contract in ./contracts/exploits
.
To test your exploit, edit the Javascript test file and in the
YOUR EXPLOIT HERE
section, then use the respective command in the
Challenge file.