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
    45 Ratings
    Company Website
  • JetBrains Junie Reviews & Ratings
    12 Ratings
    Company Website
  • Adaptive Security Reviews & Ratings
    83 Ratings
    Company Website
  • Synap Reviews & Ratings
    32 Ratings
    Company Website
  • DriveStrike Reviews & Ratings
    24 Ratings
    Company Website
  • qTest Reviews & Ratings
    Company Website
  • Windsurf Editor Reviews & Ratings
    159 Ratings
    Company Website
  • Planview ProjectAdvantage Reviews & Ratings
    121 Ratings
    Company Website
  • ActCAD Software Reviews & Ratings
    401 Ratings
    Company Website
  • Windocks Reviews & Ratings
    7 Ratings
    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
ToothPicker Reviews & Ratings

ToothPicker

Secure Mobile Networking Lab
ClusterFuzz Reviews & Ratings

ClusterFuzz

Google
go-fuzz Reviews & Ratings

go-fuzz

dvyukov