ClusterFuzz
ClusterFuzz是一个可扩展的用于发现软件中安全性和稳定性问题的模糊测试基础设施.
Google使用ClusterFuzz对所有的Google产品进行模糊测试, 并且作为模糊测试后端为OSS-Fuzz提供支持.
ClusterFuzz提供了许多功能, 并且能将模糊测试功能无缝地集成到软件项目的开发过程中:
- 高可扩展性. 可以在任何大小的群集上运行(例如Google运行了约30,000个虚拟机实例).
- 准确地对产生的崩溃进行去重.
- 支持使用各种问题跟踪工具(例如Monorail, Jira)自动地对错误进归档, 分类和关闭.
- 支持使用多种覆盖率导向的模糊测试引擎(libFuzzer, AFL++和Honggfuzz)以获得最佳结果.(结合Ensemble模糊测试和模糊测试策略).
- 支持黑盒模糊测试.
- 测试用例最小化.
- 通过二分选择进行回归查找.
- 提供了分析Fuzzer性能和崩溃率的统计信息.
- 易于使用的Web界面, 用于管理和查看崩溃信息.
- 基于Firebase可支持各种身份验证提供程序.
Trophies
截至2020年9月, ClusterFuzz为Google发现了25,000多个错误(例如Chrome), 并在超过340个集成到OSS-Fuzz的开源项目中发现了~22,500个错误.