Skip to content

matter-labs-archive/eip1962_fuzzing

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
afl
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Fuzzers for EIP1962

This repo contains preset scripts for fuzzing of Rust implementation, fuzzing gas estimator (those are not too interesting), and differential testing between C++ implementation and Rust implementation. All scripts are Rust files, so C++ is wrapper into the thin layer.

Implementations

Libfuzzer

Requires:

  • C++17 compiler
  • Nightly Rust
  • Install using manual

Usage:

  • cd fuzz
  • bash run_fuzz_compare.sh

Honggfuzz

Requires:

  • C++17 compiler
  • Stable Rust
  • Install using manual

Usage:

  • cd honggfuzz
  • bash run_honggfuzz_compare.sh

Tuning

  • Change number of threads for fuzzers in scripts
  • Download initial corpus from here and follow the instructions of either here or here

Recommendations and updates

  • Honggfuzz is recommended for speed
  • Now Honggfuzz saves all results instead of unique ones. Due to differential testing being implemented as "panic on different results" fuzzer considered different reasons as one crash case.
  • run cargo update before running to fetch latest copies from github

Extra

Folder cross-tester contains few examples how to specify inputs from fuzzer reports debug and compare implementations.

About

Fuzzy testing of various EIP1962 implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published