Skip to content
Corpora for the beacon-fuzz repository (Differential fuzzer for Ethereum 2.0)
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
0-8-3
scripts
README.md

README.md

beacon-fuzz-corpora

These are SSZ fuzzing corpora designed for use with Sigma Prime's Beacon fuzz, an Eth2 differential fuzzer.

Folder structure

Based on Eth2 specification test formats:

./<spec_version>/<config_name>/<fuzzing_target>/

<spec_version>/

E.g. v0.8.3 == 0-8-3

Corpora may be compatible with other versions, but should be merged into that versions directory.

Each spec version may only be supported by a specific version of the beacon-fuzz differential fuzzer.

See the README.md contained in each folder for more information, and details about the corpora formats.

<config_name>/

As in https://github.com/ethereum/eth2.0-specs/blob/dev/specs/test_formats/README.md#config-name

E.g. mainnet

<fuzzing_target>/

The fuzzing target that this is intended for.

NOTE: some corpora may be compatible with different targets (e.g. block and block_header both take a BeaconBlock as input), but we keep the corpora separate as the desired coverage is different.

Beaconstates

In addition to the listed targets, beaconstate/ currently stores a list of usable BeaconStates that that can be leveraged for additional input by libFuzzer.

The BeaconState is not currently fuzzed, but passed verbatim as a series of known good states. This will be changed as we target epoch state transition functions, for which libFuzzer will be fuzzing/mutating BeaconStates.

Files in here should be a SSZ representation of a BeaconState, with integer filenames. Only add additional files to the beaconstate/ directory and don't modify or rename existing files, as other corpora refer to them.

You can’t perform that action at this time.