Differential Fuzzing of Bitcoin implementations and libraries.
It currently supports Bitcoin Core, btcd, rust-bitcoin and rust-miniscript.
Note this project is a WIP and might be not stable.
First clone the repo and open it using:
git clone --recursive https://github.com/brunoerg/bitcoinfuzz && cd bitcoinfuzzNext update the submodules:
git submodule updateNow, you can build the project by running:
makeIt is also possible to target a specific commit or tag of the dependencies during compilation:
make BTCD=v0.24.0 RUST_BITCOIN=aedb097Once the compilation is complete bitcoinfuzz can be executed by:
FUZZ=target_name ./bitcoinfuzz- sipa/miniscript: sipa/miniscript#140
- rust-miniscript: rust-bitcoin/rust-miniscript#633
- rust-bitcoin: rust-bitcoin/rust-bitcoin#2681
- btcd: btcsuite/btcd#2195 (API mismatch with Bitcoin Core)
- Bitcoin Core: bitcoinfuzz#34
- rust-miniscript: rust-bitcoin/rust-miniscript#696 (not found but reproductive)
- rust-miniscript: bitcoinfuzz#39
- rust-bitcoin: rust-bitcoin/rust-bitcoin#2891
- rust-bitcoin: rust-bitcoin/rust-bitcoin#2879
- btcd: btcsuite/btcd#2199
- rust-bitcoin: bitcoinfuzz#57
- rust-bitcoin: CVE-2024-44073