Ratings and Reviews 0 Ratings

Total
ease
features
design
support

This software has no reviews. Be the first to write a review.

Write a Review

Ratings and Reviews 0 Ratings

Total
ease
features
design
support

This software has no reviews. Be the first to write a review.

Write a Review

Alternatives to Consider

  • Total ETO Reviews & Ratings
    43 Ratings
    Company Website
  • Kualitee Reviews & Ratings
    169 Ratings
    Company Website
  • Simply Voting Reviews & Ratings
    24 Ratings
    Company Website
  • LambdaTest Reviews & Ratings
    2,246 Ratings
    Company Website
  • Blackbird API Development Reviews & Ratings
    1 Rating
    Company Website
  • Testsigma Reviews & Ratings
    65 Ratings
    Company Website
  • Synap Reviews & Ratings
    30 Ratings
    Company Website
  • Global App Testing Reviews & Ratings
    48 Ratings
    Company Website
  • qTest Reviews & Ratings
    Company Website
  • enforza Reviews & Ratings
    1 Rating
    Company Website

What is Solidity Fuzzing Boilerplate?

The Solidity Fuzzing Boilerplate acts as a crucial starting point, aimed at streamlining the fuzzing procedure for diverse aspects of Solidity projects, especially libraries. Developers can write their tests once and seamlessly run them with the fuzzing tools provided by both Echidna and Foundry. When different Solidity versions are needed for certain components, these can be easily deployed within a Ganache instance using Etheno. For generating complex fuzzing inputs or performing differential fuzzing by comparing results with non-EVM executables, HEVM's FFI cheat code is a highly effective tool. Furthermore, results from fuzzing experiments can be shared without worrying about licensing implications by adjusting the shell script to pull specific files. If your Solidity contracts will not utilize shell commands, it is wise to disable FFI, as it can slow down processes and should mainly be seen as a workaround. This feature is particularly advantageous when testing intricate implementations that are hard to reproduce in Solidity but can be found in other programming languages. It is crucial to carefully examine the commands executed before initiating tests in projects with FFI enabled, to ensure a thorough understanding of the actions being performed. Maintaining clarity in your testing methodology is vital for upholding the integrity and effectiveness of your fuzzing initiatives, and it ultimately enhances the overall reliability of the project.

What is LibFuzzer?

LibFuzzer is an in-process engine that employs coverage-guided techniques for evolutionary fuzzing. By integrating directly with the library being tested, it injects generated fuzzed inputs into a specific entry point or target function, allowing it to track executed code paths while modifying the input data to improve code coverage. The coverage information is gathered through LLVM’s SanitizerCoverage instrumentation, which provides users with comprehensive insights into the testing process. Importantly, LibFuzzer is continuously maintained, with critical bugs being resolved as they are identified. To use LibFuzzer with a particular library, the first step is to develop a fuzz target; this function takes a byte array and interacts meaningfully with the API under scrutiny. Notably, this fuzz target functions independently of LibFuzzer, making it compatible with other fuzzing tools like AFL or Radamsa, which adds flexibility to testing approaches. Moreover, combining various fuzzing engines can yield more thorough testing results and deeper understanding of the library's security flaws, ultimately enhancing the overall quality of the code. The ongoing evolution of fuzzing techniques ensures that developers are better equipped to identify and address potential vulnerabilities effectively.

Media

Media

Integrations Supported

Atheris
C
C++
ClusterFuzz
Echidna Finance
Etheno
Foundry
Fuzzbuzz
Google ClusterFuzz
Jazzer
Solidity

Integrations Supported

Atheris
C
C++
ClusterFuzz
Echidna Finance
Etheno
Foundry
Fuzzbuzz
Google ClusterFuzz
Jazzer
Solidity

API Availability

Has API

API Availability

Has API

Pricing Information

Free
Free Trial Offered?
Free Version

Pricing Information

Free
Free Trial Offered?
Free Version

Supported Platforms

SaaS
Android
iPhone
iPad
Windows
Mac
On-Prem
Chromebook
Linux

Supported Platforms

SaaS
Android
iPhone
iPad
Windows
Mac
On-Prem
Chromebook
Linux

Customer Service / Support

Standard Support
24 Hour Support
Web-Based Support

Customer Service / Support

Standard Support
24 Hour Support
Web-Based Support

Training Options

Documentation Hub
Webinars
Online Training
On-Site Training

Training Options

Documentation Hub
Webinars
Online Training
On-Site Training

Company Facts

Organization Name

patrickd

Company Website

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

Company Facts

Organization Name

LLVM Project

Date Founded

2003

Company Website

llvm.org/docs/LibFuzzer.html

Categories and Features

Categories and Features

Popular Alternatives

Popular Alternatives

afl-unicorn Reviews & Ratings

afl-unicorn

Battelle
Echidna Reviews & Ratings

Echidna

Crytic
Atheris Reviews & Ratings

Atheris

Google
Honggfuzz Reviews & Ratings

Honggfuzz

Google
Jazzer Reviews & Ratings

Jazzer

Code Intelligence
ClusterFuzz Reviews & Ratings

ClusterFuzz

Google
go-fuzz Reviews & Ratings

go-fuzz

dvyukov