Skip to content

Latest commit

 

History

History
80 lines (45 loc) · 2.14 KB

File metadata and controls

80 lines (45 loc) · 2.14 KB
description
Beacon Fuzzer guide for macOS users.

Fuzzing on macOS

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

Configure Docker file sharing settings

Make sure that the paths /Users , /Volumes , /private , /tmp have been entered.

Fuzzing

Step 0.

Open up a Terminal and test if docker is up and running docker -v

Step 1.

Clone the repository git clone https://github.com/sigp/beacon-fuzz

Step 2.

Change your directory cd beacon-fuzz/eth2fuzz

Step 3.

Build all Ethereum 2.0 client docker containers make fuzz-all
This process can take up to one hour.

Once the building process is done, the Fuzzer will start by fuzzing the Lighthouse client and fuzz the next client after one hour. The total process takes 5hours.

Fuzzing Lighthouse

Report & find bugs

Step 0.

Open Finder and head over to its Preferences
Change the search settings to Search the Current Folder

Step 1.

If the fuzzer finds a bug it creates a crash file in the workspace folder
~/beacon-fuzz/eth2fuzz/workspace

Step 2.

Search the workspace folder for files called "crash-...", which is the bug file and compress it to a zip.file
An example:
****crash-efc8b3f0753ddd9df52b066d2f4549d548a21a58

Post the zip file on the beacon-fuzz github repository.