dergoegge/fuzzamoto
GitHub: dergoegge/fuzzamoto
面向比特币全节点实现的覆盖引导整体模糊测试框架,支持跨实现对比与协议一致性验证。
Stars: 44 | Forks: 19
# Fuzzamoto
Fuzzamoto 为比特币全节点实现的覆盖引导模糊测试提供了一个框架和模糊测试引擎。
* **实现无关**:相同的测试可以针对不同的协议实现并比较它们的行为(例如 [Bitcoin Core](https://github.com/bitcoin/bitcoin)、[btcd](https://github.com/btcsuite/btcd)、[libbitcoin](https://github.com/libbitcoin/libbitcoin) 等)
* **整体性**:测试是在完整系统上进行的,而不仅仅是隔离的组件,从而能够发现由不同组件组合产生的错误
* **覆盖引导**:模糊测试由覆盖率反馈引导
*它旨在作为传统隔离组件模糊测试的补充,而非替代品。*
请查阅[书籍](https://dergoegge.github.io/fuzzamoto/index.html)了解更多信息。
## 战果
| 项目 | 错误 | 场景 |
| :--------------------------------------------------------------------- | :-------------------------------------------------------------------- | :----------------- |
| [Bitcoin Core](https://github.com/bitcoin/bitcoin) | [`migratewallet` RPC 断言失败](https://github.com/bitcoin/bitcoin/issues/32111) | `wallet-migration` |
| [Bitcoin Core](https://github.com/bitcoin/bitcoin) | [`migratewallet` RPC 断言失败](https://github.com/bitcoin/bitcoin/issues/32112) | `wallet-migration` |
| [Bitcoin Core](https://github.com/bitcoin/bitcoin) | [`CheckBlockIndex` 中的断言失败](https://github.com/bitcoin/bitcoin/issues/32173) | `rpc-generic` |
| [Bitcoin Core PR#30277](https://github.com/bitcoin/bitcoin/pull/30277) | [`Miniketch::Deserialize` 中可远程触发的断言失败](https://github.com/bitcoin/bitcoin/pull/30277#issuecomment-2992101654) | `ir` |
| [Bitcoin Core PR#28676](https://github.com/bitcoin/bitcoin/pull/28676) | [`CTxMemPool::check()` 中的断言失败](https://github.com/bitcoin/bitcoin/pull/28676#issuecomment-3016809091) | `ir` |
| [Bitcoin Core](https://github.com/bitcoin/bitcoin) | [IPC 接口中的未捕获异常](https://github.com/bitcoin/bitcoin/issues/33341) | `ipc-mining` ([*](https://github.com/marcofleon/fuzzamoto/tree/ipc-mining)) |
| [btcd](https://github.com/btcsuite/btcd) | [布隆过滤器;panic:整数除以零](https://gist.github.com/dergoegge/b123d7feb183f7c19754da2ff87dc1f6) | `ir` |
| [btcd](https://github.com/btcsuite/btcd) | [addrv2;panic:无效内存地址或空指针解引用](https://gist.github.com/dergoegge/b1e75e07e4525b8a1ce7c11a7cd6b585) | `ir` |
| [btcd](https://github.com/btcsuite/btcd) | [getdata 处理中的无限等待](https://gist.github.com/dergoegge/2f19a438f69f0f9b5cb64986c8239b16) | `ir` |
标签:ASN解析, Bitcoin Core, Bug Bounty, CISA项目, Erlay, Fuzzing, TLS抓取, Web报告查看器, 全节点, 区块链, 协议实现, 可自定义解析器, 可视化界面, 安全测试, 攻击性安全, 比特币, 测试框架, 灰盒测试, 网络安全, 覆盖率引导, 软件安全, 通知系统, 通知系统, 隐私保护, 黑盒测试