谷歌推出ClusterFuzzLite模糊测试系统

谷歌推出了 ClusterFuzzLite 项目,该项目允许组织代码模糊测试,以便及早发现持续集成系统运行过程中的潜在漏洞。 目前,ClusterFuzz 可用于对 GitHub Actions、Google Cloud Build 和 Prow 中的拉取请求进行自动化模糊测试,但预计未来将支持其他 CI 系统。 该项目基于 ClusterFuzz 平台,旨在协调模糊测试集群的工作,并在 Apache 2.0 许可证下分发。

值得注意的是,谷歌在2016年推出OSS-Fuzz服务后,已有超过500个重要开源项目被纳入持续模糊测试计划。 根据所进行的测试,已消除了 6500 多个已确认的漏洞,纠正了 21 多个错误。 ClusterFuzzLite 继续开发模糊测试机制,能够在提议变更的审查阶段尽早发现问题。 ClusterFuzzLite已经在systemd和curl项目的变更审查流程中实现,并且可以识别在检查新代码的初始阶段使用的静态分析器和linter所遗漏的错误。

ClusterFuzzLite 支持 C、C++、Java(和其他基于 JVM 的语言)、Go、Python、Rust 和 Swift 的项目审查。 模糊测试是使用 LibFuzzer 引擎进行的。 还可以调用AddressSanitizer、MemorySanitizer 和UBSan (UndefinedBehaviorSanitizer) 工具来识别内存错误和异常。

ClusterFuzzLite 的主要功能:在代码接受之前快速检查建议的更改以发现错误; 下载有关崩溃情况的报告; 能够进行更高级的模糊测试,以识别在检查代码更改后未出现的更深层次的错误; 生成覆盖率报告以评估测试期间的代码覆盖率; 模块化架构允许您选择所需的功能。

让我们回想一下,模糊测试涉及生成接近真实数据的各种输入数据的随机组合流(例如,具有随机标签参数的 html 页面、具有异常标题的档案或图像等),并记录可能的情况。处理过程中的失败。 如果序列崩溃或与预期响应不匹配,则此行为很可能表明存在错误或漏洞。

来源: opennet.ru

添加评论