Average Ratings 0 Ratings

Total
ease
features
design
support

No User Reviews. Be the first to provide a review:

Write a Review

Average Ratings 0 Ratings

Total
ease
features
design
support

No User Reviews. Be the first to provide a review:

Write a Review

Description

The Solidity Fuzzing Boilerplate serves as a foundational template designed to simplify the fuzzing process for various components within Solidity projects, particularly libraries. By writing tests just once, developers can easily execute them using both Echidna and Foundry's fuzzing tools. In instances where components require different versions of Solidity, these can be deployed into a Ganache instance with the help of Etheno. To generate intricate fuzzing inputs or to conduct differential fuzzing by comparing outputs with non-EVM executables, HEVM's FFI cheat code can be utilized effectively. Additionally, you can publish the results of your fuzzing experiments without concerns about licensing issues by modifying the shell script to retrieve specific files. If you do not plan to use shell commands from your Solidity contracts, it is advisable to disable FFI since it can be slow and should primarily serve as a workaround. This functionality proves beneficial when testing against complex implementations that are challenging to replicate in Solidity but are available in other programming languages. It is essential to review the commands being executed before running tests in projects that have FFI activated, ensuring a clear understanding of the operations taking place. Always prioritize clarity in your testing approach to maintain the integrity and effectiveness of your fuzzing efforts.

Description

Go-fuzz serves as a coverage-guided fuzzing tool designed specifically for testing Go packages, making it particularly effective for those that handle intricate inputs, whether they are textual or binary in nature. This method of testing is crucial for strengthening systems that need to process data from potentially harmful sources, such as network interactions. Recently, go-fuzz has introduced initial support for fuzzing Go Modules, inviting users to report any issues they encounter with detailed descriptions. It generates random input data, which is often invalid, and the function must return a value of 1 to indicate that the fuzzer should elevate the priority of that input in future fuzzing attempts, provided that it should not be stored in the corpus, even if it uncovers new coverage; a return value of 0 signifies the opposite, while other values are reserved for future enhancements. The fuzz function is required to reside in a package that go-fuzz can recognize, meaning the code under test cannot be located within the main package, although fuzzing of internal packages is permitted. This structured approach ensures that the testing process remains efficient and focused on identifying vulnerabilities in the code.

API Access

Has API

API Access

Has API

Screenshots View All

Screenshots View All

Integrations

Echidna Finance
Etheno
Foundry
Solidity

Integrations

Echidna Finance
Etheno
Foundry
Solidity

Pricing Details

Free
Free Trial
Free Version

Pricing Details

Free
Free Trial
Free Version

Deployment

Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook

Deployment

Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook

Customer Support

Business Hours
Live Rep (24/7)
Online Support

Customer Support

Business Hours
Live Rep (24/7)
Online Support

Types of Training

Training Docs
Webinars
Live Training (Online)
In Person

Types of Training

Training Docs
Webinars
Live Training (Online)
In Person

Vendor Details

Company Name

patrickd

Website

github.com/patrickd-/solidity-fuzzing-boilerplate

Vendor Details

Company Name

dvyukov

Website

github.com/dvyukov/go-fuzz

Product Features

Product Features

Alternatives

Echidna Reviews

Echidna

Crytic

Alternatives

Atheris Reviews

Atheris

Google
LibFuzzer Reviews

LibFuzzer

LLVM Project
ClusterFuzz Reviews

ClusterFuzz

Google
ClusterFuzz Reviews

ClusterFuzz

Google
Honggfuzz Reviews

Honggfuzz

Google