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 Atheris?

Atheris operates as a fuzzing engine tailored for Python, specifically employing a coverage-guided approach, and it extends its functionality to accommodate native extensions built for CPython. Leveraging libFuzzer as its underlying framework, Atheris proves particularly adept at uncovering additional bugs within native code during fuzzing processes. It is compatible with both 32-bit and 64-bit Linux platforms, as well as Mac OS X, and supports Python versions from 3.6 to 3.10. While Atheris integrates libFuzzer, which makes it well-suited for fuzzing Python applications, users focusing on native extensions might need to compile the tool from its source code to align the libFuzzer version included with Atheris with their installed Clang version. Given that Atheris relies on libFuzzer, which is bundled with Clang, users operating on Apple Clang must install an alternative version of LLVM, as the standard version does not come with libFuzzer. Atheris utilizes a coverage-guided, mutation-based fuzzing strategy, which streamlines the configuration process, eliminating the need for a grammar definition for input generation. However, this approach can lead to complications when generating inputs for code that manages complex data structures. Therefore, users must carefully consider the trade-offs between the simplicity of setup and the challenges associated with handling intricate input types, as these factors can significantly influence the effectiveness of their fuzzing efforts. Ultimately, the decision to use Atheris will hinge on the specific requirements and complexities of the project at hand.

Media

Media

Integrations Supported

Echidna Finance
Etheno
Foundry
Google OSS-Fuzz
LibFuzzer
Python
Solidity

Integrations Supported

Echidna Finance
Etheno
Foundry
Google OSS-Fuzz
LibFuzzer
Python
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

Google

Company Website

github.com/google/atheris

Categories and Features

Categories and Features

Popular Alternatives

Popular Alternatives

LibFuzzer Reviews & Ratings

LibFuzzer

LLVM Project
Echidna Reviews & Ratings

Echidna

Crytic
Jazzer Reviews & Ratings

Jazzer

Code Intelligence
Honggfuzz Reviews & Ratings

Honggfuzz

Google
go-fuzz Reviews & Ratings

go-fuzz

dvyukov
ClusterFuzz Reviews & Ratings

ClusterFuzz

Google
ToothPicker Reviews & Ratings

ToothPicker

Secure Mobile Networking Lab