Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
Echidna is a Haskell-based tool created for fuzzing and property-based testing of Ethereum smart contracts. It employs advanced grammar-driven fuzzing strategies that leverage a contract's ABI to challenge user-defined predicates or Solidity assertions. Designed with a focus on modularity, Echidna allows for easy extensions to incorporate new mutations or to target specific contracts under particular conditions. The tool generates inputs that are specifically adapted to your existing codebase, and it offers optional features for corpus collection, mutation, and coverage guidance to uncover more elusive bugs. It utilizes Slither to extract critical information prior to launching the fuzzing process, ensuring a more effective campaign. With source code integration, Echidna can pinpoint which lines of code are exercised during testing, and it provides an interactive terminal UI along with text-only or JSON output formats. Additionally, it includes automatic test case minimization for efficient triage and integrates seamlessly into the development workflow. The tool also reports maximum gas usage during fuzzing activities and supports complex contract initialization through Etheno and Truffle, enhancing its usability for developers. Ultimately, Echidna stands out as a robust solution for ensuring the reliability and security of Ethereum smart contracts.
Description
OSS-Fuzz provides ongoing fuzz testing for open source applications, a method renowned for identifying programming flaws. Such flaws, including buffer overflow vulnerabilities, can pose significant security risks. Through the implementation of guided in-process fuzzing on Chrome components, Google has discovered thousands of security weaknesses and stability issues, and now aims to extend this beneficial service to the open source community. The primary objective of OSS-Fuzz is to enhance the security and stability of frequently used open source software by integrating advanced fuzzing methodologies with a scalable and distributed framework. For projects that are ineligible for OSS-Fuzz, there are alternatives available, such as running personal instances of ClusterFuzz or ClusterFuzzLite. At present, OSS-Fuzz is compatible with languages including C/C++, Rust, Go, Python, and Java/JVM, with the possibility of supporting additional languages that are compatible with LLVM. Furthermore, OSS-Fuzz facilitates fuzzing for both x86_64 and i386 architecture builds, ensuring a broad range of applications can benefit from this innovative testing approach. With this initiative, we hope to build a safer software ecosystem for all users.
API Access
Has API
No
API Access
Has API
No
Integrations
GitHub
Yes
Atheris
No
C
No
C++
No
ClusterFuzz
No
Docker
Yes
Etheno
Yes
Ethereum
Yes
Go
No
Google Cloud Storage
No
Integrations
GitHub
Yes
Atheris
Yes
C
Yes
C++
Yes
ClusterFuzz
Yes
Docker
No
Etheno
No
Ethereum
No
Go
Yes
Google Cloud Storage
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
Yes
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
Crytic
Website
github.com/crytic/echidna
Vendor Details
Company Name
Country
United States
Website
github.com/google/oss-fuzz