ClusterFuzzLite,一个用于组织代码模糊测试的系统

最近 谷歌揭幕 通过博客文章 ClusterFuzzLite 项目,它允许组织模糊测试 用于在持续集成系统运行阶段早期检测潜在漏洞的代码。

目前,ClusterFuzz 可用于自动化 GitHub Actions 中拉取请求的模糊测试, Google Cloud Build 和 Prow,但预计未来会兼容其他IC系统。 该项目基于 ClusterFuzz 平台,旨在协调模糊测试集群的工作,并在 Apache 2.0 许可下分发。

需要说明的是,自2016年谷歌推出OSS-Fuzz服务后,已有超过500个主要开源项目被纳入持续模糊测试计划。 从进行的检查中,已经消除了 6.500 多个已确认的漏洞,并纠正了 21.000 多个错误。

关于 ClusterFuzzLite

ClusterFuzzLite 继续开发模糊测试机制 能够在拟议变更的同行评审阶段更早地发现问题. ClusterFuzzLite 已经在 systemd 和 curl 项目的变更审查过程中引入,并且可以识别在新代码验证的初始阶段使用的静态分析器和 linter 中未检测到的错误。

今天,我们很高兴地宣布 ClusterFuzzLite,这是一种连续模糊测试解决方案,作为 CI/CD 工作流程的一部分运行,可以比以往更快地发现漏洞。 只需几行代码,GitHub 用户就可以将 ClusterFuzzLite 集成到他们的工作流程中,并对拉取请求进行模糊测试,以在错误发生之前捕获错误,从而提高软件供应链的整体安全性。
自 2016 年推出以来,已有 500 多个关键开源项目被集成到 Google 的 OSS-Fuzz 计划中,从而纠正了 6.500 多个漏洞和 21.000 个功能错误。 ClusterFuzzLite 与 OSS-Fuzz 携手并进,在开发过程中更早地检测回归错误。

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

关键特征 ClusterFuzzLite 突出显示例如 快速验证提议的更改 在接受代码之前的阶段发现错误,以及 下载有关崩溃发生条件的报告, 移动到的能力 更高级的模糊测试 识别在验证代码更改后未出现的更深层次的错误,以及生成覆盖率报告以评估测试期间代码的覆盖率以及允许您选择所需功能的模块化架构。

包括 systemd 和 curlya 在内的大型项目在代码审查期间使用 ClusterFuzzLite,并取得了积极的成果。 根据 curl 的作者 Daniel Stenberg 的说法,“当人类审阅者同意并批准代码并且他们的静态代码分析器和 linter 无法检测到更多问题时,模糊测试将带您进入下一个级别的代码成熟度和健壮性。 OSS-Fuzz 和 ClusterFuzzLite 帮助我们将 curl 保持为一个高质量的项目,全天、每天和每次参与。

我们必须记住,模糊测试会生成接近实际数据(例如带有随机标签参数的 html 页面、带有异常标头的文件或图像等)的输入数据的各种随机组合的流,并纠正过程中可能出现的故障。

如果任何序列失败或与预期响应不匹配,则此行为很可能表明存在错误或漏洞。

最后 如果您有兴趣了解更多有关它的信息,您可以查看详细信息 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。