macOS
brew install echidnalocal Homebrew formula metadata
brew
Ethereum smart contract fuzzer. Version 2.3.2 via Homebrew; verified 2026-06-15.
install
brew install echidnalocal Homebrew formula metadata
nix profile install nixpkgs#echidnanixpkgs package indexes · pkgs/by-name/ec/echidna/package.nix · source: api.github.com
overview
Ethereum smart contract fuzzer
history
Echidna is Crytic's Ethereum smart-contract fuzzer, written in Haskell and aimed at property-based and invariant testing. It became package-manager significant because smart-contract security teams need a reproducible CLI fuzzer that works with Solidity projects, build systems, CI, and containerized audit workflows.
The public GitHub repository was created in August 2017. The README describes Echidna as a Haskell program for fuzzing and property-based testing of Ethereum smart contracts, using grammar-based campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions.
Early public GitHub release artifacts date to 2018, with 1.0.0.0 published in June 2019. By 2026 the project had reached the 2.3.x release line and remained active, with thousands of GitHub stars and ongoing pushes.
The project grew from simple echidna_ boolean properties into a broader testing tool. The README documents property, assertion, Foundry, overflow, optimization, and exploration modes, corpus collection, coverage output, JSON output, shrinking/minimization, and line-level coverage reporting.
Echidna is part of the Crytic security tooling ecosystem. The README notes Slither integration for extracting useful information before fuzzing and crytic-compile support for Foundry, Hardhat, and Truffle projects.
Echidna's adoption followed smart-contract security practice: auditors and protocol developers needed fuzzing that understood Ethereum ABIs, Solidity assertions, build systems, and reproducible counterexamples. Its official docs live under the Building Secure Contracts material, placing it inside Trail of Bits/Crytic security education rather than only as a standalone CLI.
Distribution broadened beyond source builds. The README documents precompiled Linux and macOS binaries, Homebrew installation, Docker images hosted under the Crytic GitHub packages, and a GitHub Actions workflow through crytic/echidna-action. Homebrew installs Echidna with dependencies such as Slither and crytic-compile.
Typical usage is to run echidna against a Solidity contract or project, define properties as echidna_-prefixed boolean functions, and let the fuzzer search for call sequences that falsify them. For modern projects, echidna . can use the current build framework through crytic-compile.
Configuration is commonly supplied through a YAML file passed with --config config.yaml. Users tune EVM and test-generation parameters, select test modes, collect corpora, and integrate results into text, JSON, or CI workflows.
Echidna is a good example of a specialized security CLI that packaging makes practical: the value is not a library import, but a reproducible executable with native dependencies, Solidity tooling, Slither, crytic-compile, solc management, and CI/container options all lined up.
It also shows the package-manager pressure created by blockchain tooling. Auditors want pinned versions for repeatable findings, while protocol teams want easy local installs and GitHub Actions coverage in fast-moving Solidity/Foundry/Hardhat projects.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
config.yamlexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
echidna | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/crytic/echidna
install metadata
| Package key | brew:echidna |
|---|---|
| Version | 2.3.2 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/echidna |
| Homepage | https://secure-contracts.com/program-analysis/echidna/index.html |
| Repository | https://github.com/crytic/echidna |
| Upstream docs | https://github.com/crytic/echidna#readme |
| License | AGPL-3.0-only |
| Source archive | https://github.com/crytic/echidna/archive/refs/tags/v2.3.2.tar.gz |
| Last updated | 2026-06-15T10:20:15-04:00 |
| Pulse | updated |
| Dependencies | crytic-compile, gmp, libff, secp256k1, slither-analyzer |
| Build dependencies | ghc@9.10, haskell-stack |
| Uses from macOS | ncurses |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | echidna |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
echidna
nix profile install nixpkgs#echidnasource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.