Fuzzing on Windows

Beacon Fuzzer guide for windows users.

General

Fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program.

Requirements

Download the Fuzzer

Step 0.

Open a terminal window and test if docker is up and running with docker -v

Step 0.

Continue with cd desktop followed by git clone https://github.com/sigp/beacon-fuzz

Edit the MAKE file

Head over to the desktop and open the downloaded folder beacon-fuzz . Continue to the subfolder eth2fuzz and open the Makefile file with a text editor.

Replace all DOCKER_BUILDKIT=1 in the Makefile with docker build \ and save the changes. There are five "DOCKER_BUILDKIT=1" in total. Alternatively, copy this file, which has everything replaced.

Fuzzing

Step 0.

Open a terminal window and go to the eth2fuzz directory with cd desktop/beacon-fuzz/eth2fuzz

Step 1.

Build all clients and start fuzzing by running make fuzz-all

That's it, the process will take multiple hours!

Report Bugs

Search the beacon-fuzz folder for files called "crash-...", which is the bug file, and compress it to a zip file. Web tool to convert files into zip. Post the zip file on the beacon-fuzz github repository.

An example: crash-efc8b3f0753ddd9df52b066d2f4549d548a21a58