Crates.io | evm-fuzzer |
lib.rs | evm-fuzzer |
version | 0.1.0 |
source | src |
created_at | 2021-08-08 15:59:48.027184 |
updated_at | 2021-08-08 15:59:48.027184 |
description | Fuzzer for EVM. |
homepage | |
repository | |
max_upload_size | |
id | 433196 |
size | 14,274 |
This provides a simple fuzzing harness that can be used a start when fuzzing the rust evm. The fuzzer will take a byte input from honggfuzz, split it at a fixed delimiter and give some of it as code and some of it as data to the evm.
Run the fuzzer like so:
cargo hfuzz run evm_fuzz
Honggfuzz saves the fuzzing queue in the directory hfuzz_workspace/evm_fuzz/input
.
To debug the fuzzer, you can also compile the fuzzer as a normal binary via cargo build
.
Then, to debug a certain input in the fuzzing queue, run
./target/debug/evm_fuzz hfuzz_workspace/evm_fuzz/input/<file>
Because this fuzzer does not implement any gasometer, honggfuzz will report some timeouts. A reasonable approach to improve the perfomance would be to extend this fuzzer with a gasometer.