Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 786 Bytes

README.md

File metadata and controls

29 lines (22 loc) · 786 Bytes

What is this?

A 4-hr smart contract fuzzer speed run. Successfully broke the test contract, but lots of TODOs, cleaning up hastily written code, and ideas to explore.

I wrote this as a learning exercise after reading through h0mbre's blog series, Fuzzing Like a Caveman, which I highly recommend. A recording of the livestream is available on Youtube.

Installation

pip install hypothesis web3 solc-select crytic-compile
solc-select install 0.8.12
solc-select use 0.8.12

Ganache

npm i -g ganache-cli

Usage

crytic-compile --export-format standard tests/invariant_breaker.sol
python fuzzer.py