Echidna is a weird creature that eats bugs and is highly electrosensitive (with apologies to Jacob Stanley) More seriously, Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smarts contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions. We designed Echidna with modularity in mind, so it can be easily extended to include new mutations or test specific contracts in specific cases. Optional corpus collection, mutation and coverage guidance to find deeper bugs. Powered by Slither to extract useful information before the fuzzing campaign. Source code integration to identify which lines are covered after the fuzzing campaign. Curses-based retro UI, text-only or JSON output.

Features

  • Generates inputs tailored to your actual code
  • Support for a complex contract initialization with Etheno and Truffle
  • Maximum gas usage reporting of the fuzzing campaign
  • Seamless integration into the development workflow
  • Automatic testcase minimization for quick triage
  • Curses-based retro UI, text-only or JSON output

Project Samples

Project Activity

See All Activity >

License

Affero GNU Public License

Follow Echidna

Echidna Web Site

Other Useful Business Software
Veeam Data Platform v13.1 Icon
Veeam Data Platform v13.1

Move workloads across hypervisors and clouds with no vendor lock-in. Try VDP free today.

Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
Try Now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Echidna!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Haskell, Solidity

Related Categories

Haskell Frameworks, Haskell Blockchain Software, Haskell Smart Contract Tool, Solidity Frameworks, Solidity Blockchain Software, Solidity Smart Contract Tool

Registered

2022-10-26