Average Ratings 0 Ratings
Average Ratings 0 Ratings
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
Syzkaller functions as an unsupervised, coverage-guided fuzzer aimed at exploring vulnerabilities within kernel environments, offering support for various operating systems such as FreeBSD, Fuchsia, gVisor, Linux, NetBSD, OpenBSD, and Windows. Originally designed with a focus on fuzzing the Linux kernel, its capabilities have been expanded to encompass additional operating systems over time. When a kernel crash is identified within one of the virtual machines, syzkaller promptly initiates the reproduction of that crash. By default, it operates using four virtual machines for this reproduction process and subsequently works to minimize the program responsible for the crash. This reproduction phase can temporarily halt fuzzing activities, as all VMs may be occupied with reproducing the identified issues. The duration for reproducing a single crash can vary significantly, ranging from mere minutes to potentially an hour, depending on the complexity and reproducibility of the crash event. This ability to minimize and analyze crashes enhances the overall effectiveness of the fuzzing process, allowing for better identification of vulnerabilities in the kernel.
API Access
Has API
No
API Access
Has API
No
Integrations
Echidna Finance
Yes
Etheno
Yes
Foundry
Yes
FreeBSD
No
Fuchsia Service Maintenance Software
No
NetBSD
No
OpenBSD
No
Solidity
Yes
Integrations
Echidna Finance
No
Etheno
No
Foundry
No
FreeBSD
Yes
Fuchsia Service Maintenance Software
Yes
NetBSD
Yes
OpenBSD
Yes
Solidity
No
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
Yes
Linux
Yes
Chromebook
No
Deployment
Web-Based
No
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
No
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
patrickd
Website
github.com/patrickd-/solidity-fuzzing-boilerplate
Vendor Details
Company Name
Country
United States
Website
github.com/google/syzkaller