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

LibFuzzer serves as an in-process, coverage-guided engine for evolutionary fuzzing. By being linked directly with the library under examination, it injects fuzzed inputs through a designated entry point, or target function, allowing it to monitor the code paths that are executed while creating variations of the input data to enhance code coverage. The coverage data is obtained through LLVM’s SanitizerCoverage instrumentation, ensuring that users have detailed insights into the testing process. Notably, LibFuzzer continues to receive support, with critical bugs addressed as they arise. To begin utilizing LibFuzzer with a library, one must first create a fuzz target—this function receives a byte array and interacts with the API being tested in a meaningful way. Importantly, this fuzz target operates independently of LibFuzzer, which facilitates its use alongside other fuzzing tools such as AFL or Radamsa, thereby providing versatility in testing strategies. Furthermore, the ability to leverage multiple fuzzing engines can lead to more robust testing outcomes and clearer insights into the library's vulnerabilities.

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.

API Access

Has API Yes 

API Access

Has API No 

Screenshots View All

Screenshots View All

Integrations

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

Integrations

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

Pricing Details

Free
Free Trial No 
Free Version Yes 

Pricing Details

Free
Free Trial No 
Free Version Yes 

Deployment

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

Deployment

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

Customer Support

Business Hours No 
Live Rep (24/7) No 
Online Support Yes 

Customer Support

Business Hours No 
Live Rep (24/7) No 
Online Support Yes 

Types of Training

Training Docs Yes 
Webinars No 
Live Training (Online) No 
In Person No 

Types of Training

Training Docs Yes 
Webinars No 
Live Training (Online) No 
In Person No 

Vendor Details

Company Name

LLVM Project

Founded

2003

Website

llvm.org/docs/LibFuzzer.html

Vendor Details

Company Name

patrickd

Website

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

Product Features

Product Features

Alternatives

Atheris Reviews

Atheris

Google

Alternatives

Echidna Reviews

Echidna

Crytic
afl-unicorn Reviews

afl-unicorn

Battelle
Honggfuzz Reviews

Honggfuzz

Google
ClusterFuzz Reviews

ClusterFuzz

Google
Jazzer Reviews

Jazzer

Code Intelligence
Honggfuzz Reviews

Honggfuzz

Google