近日,谷歌宣布开源ClusterFuzz,这是一个可扩展的模糊测试工具,可以运行在 25000 多个核心上的模糊测试基础设施。
该工具已经在谷歌内部使用很久了,如果你有关注谷歌的模糊测试,对它应该不陌生,因为Google 几年前推出了OSS-Fuzz服务,该服务实际上通过ClusterFuzz为大规模可分布式执行提供了测试环境。,如今ClusterFuzz已开源,任何人都可以使用。
公众号:SAP Technical目前,ClusterFuzz在GitHub上已经获得 2384 个Star和 127 个Fork。(GitHub地址:https://github.com/google/clusterfuzz)
模糊测试背后的整体概念非常简单:你可以向你的应用程序抛出大量数据(包括随机输入),并看看它是如何反应。通常,它会崩溃,有时候你还会发现内存泄漏和安全漏洞。但是,你想要规模化解决问题,它就会变得更加复杂,这时候,你就需要ClusterFuzz这样的工具来管理这种复杂性。
公众号:SAP TechnicalClusterFuzz将模糊化过程自动化,从错误检测到报告,然后重新测试到修复程序。该工具本身也使用了一些开源库,如libFuzzer 和 AFL等
ClusterFuzz还提供了许多功能特性:
高度可扩展。谷歌的内部实例运行在超过25,000台机器上。
准确的重复数据删除(Accurate deduplication)
问题跟踪器的全自动错误归档和关闭。
测试用例最小化。
通过二分法回归查找。
用于分析fuzzer性能和崩溃率的统计信息。
易于使用的Web界面,用于管理和查看崩溃。
支持引导模糊(例如libFuzzer和AFL)和blackbox模糊测试。
ClusterFuzz 已经在 Chrome 中发现了超过 16000 个 bug,在与 OSS-Fuzz 集成的 160 多个开源项目中发现了超过 11000 个 bug。现在大部分软件测试和部署工具链都是自动化的,所以现在模糊测试成为一个热门话题也就不足为奇了。
公众号:SAP Technical 公众号:SAP Technical
网友评论