These are SSZ fuzzing corpora designed for use with Sigma Prime's Beacon fuzz, an Eth2 differential fuzzer.
Based on Eth2 specification test formats:
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.
README.md contained in each folder for more information, and details about the corpora formats.
The fuzzing target that this is intended for.
NOTE: some corpora may be compatible with different targets (e.g.
block_header both take a
BeaconBlock as input), but we keep the corpora separate as the desired coverage is different.
In addition to the listed targets,
beaconstate/ currently stores a list of usable
that can be leveraged for additional input by
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
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.
Useful for generating starter corpora from eth2.0-spec-tests.
Ensure that the pyspec you install is the same version as the spec tests (i.e. have the same
$ python -m venv venv $ . venv/bin/activate $ pip install . $ cd /path/to/eth2.0-specs && make $ pip install /path/to/eth2/test_libs/pyspec $ pip install /path/to/eth2/test_libs/config_helpers $ all_corpora_from_tests -h $ corpora_from_tests -h