FuzzyVM

command module
v0.0.0-...-992e872 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2025 License: LGPL-2.1 Imports: 12 Imported by: 0

README

FuzzyVM

A framework to fuzz Zond Virtual Machine implementations. FuzzyVM creates state tests that can be used to differential fuzz ZVM implementations against each other. It only focus on the test generation part, the test execution is handled by goevmlab.

Environment

You need to have golang and go-zond installed

Install instructions

# Clone the repo to a place of your liking using
git clone git@github.com:theQRL/FuzzyVM.git
# Enter the repo
cd FuzzyVM
# Build the binary
go build
# Create an initial corpus
./FuzzyVM corpus --count 100  
# Run the fuzzer
./FuzzyVM run

Corpus

It makes sense to create an initial corpus in order to improve the efficiency of the fuzzer. You can generate corpus elements with ./FuzzyVM corpus --count N, which will generate N corpus elements.

You might create corpus that is to big, you can minimize your corpus with ./FuzzyVM minCorpus.

Bench

You can run a benchmark with ./FuzzyVM bench.

Documentation

Overview

Package main creates a fuzzer for Zond Virtual Machine (zvm) implementations.

Directories

Path Synopsis
Package filler can fill objects based on a provided data source.
Package filler can fill objects based on a provided data source.
Package fuzzer is the entry point for go-fuzz.
Package fuzzer is the entry point for go-fuzz.
Package generator provides means to generate state tests for Zond.
Package generator provides means to generate state tests for Zond.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL