sFuzz
Fuzzing tool for smart contract vulnerability detection
Last updated
Fuzzing tool for smart contract vulnerability detection
Last updated
Create contracts/
folder and put your solidity files there. Since one solidity file can contains more than 1 contract, rename your file to the name of contract which you want to test.
E.g: a file Sample.sol
contains two contracts Bank
and ERC20
. To test contract Bank
, rename Sample.sol
to Bank.sol
Pull docker image
Start container and map contracts/
folder to container.
Note that: /path/to/contracts/folder/ is absolute path to contracts
folder
Test solidity file in contracts/
folder
Fuzzer shows progress in terminal
output files are saved to contracts/
folder
sFuzz relies on external compiler to compile solidity source code. In docker container, we installed solc
v0.4.24
. If you want to fuzz with other solidity versions, replace our solc
at /usr/bin/solc
with your own solc
. Visit https://github.com/ethereum/solidity/releases to download specific solidity version.
Make sure file name of solidity is one of the contract names in that file
Make sure your contract is compiled by container’s solc
without errors