Fuzzamoto
Fuzzamoto provides a framework and fuzzing engine for coverage-guided fuzzing of Bitcoin full node implementations.
- Implementation Agnostic: The same tests can target different protocol implementations and compare their behavior (e.g. Bitcoin Core, btcd, libbitcoin, ...)
- Holistic: Tests are performed on the full system, not just isolated components, enabling the discovery of bugs that arise from the composition of different components
- Coverage-Guided: Fuzzing is guided by coverage feedback
It is not meant to be a replacement for traditional fuzzing of isolated components, but rather a complement to it.
Trophies
Project | Bug | Scenario |
---|---|---|
Bitcoin Core | migratewallet RPC assertion failure | wallet-migration |
Bitcoin Core | migratewallet RPC assertion failure | wallet-migration |
Bitcoin Core | assertion failure in CheckBlockIndex | rpc-generic |
Bitcoin Core PR#30277 | Remotely reachable assertion failure in Miniketch::Deserialize | ir |