作者:ClusterFuzz团队的Abhishek Arya、Oliver Chang、Max Moroz、Martin Barbella和Jonathan Metzman
模糊测试(fuzzing)是一种用于检测软件中错误(bug)的自动方法,其工作方式是向目标程序馈送意外的输入,从而发现错误。它可以有效地发现内存损坏错误,内存损失错误常常会带来严重的安全隐患。手动查找这些问题棘手又耗时;尽管有严格的代码审查实践,错误还是常常成为漏网之鱼。对于用一种不安全的语言(比如C或C++)编写的软件项目而言,模糊测试是确保安全性和稳定性的一个关键要素。
模糊测试要真正有效,它必须是持续性、大规模执行,并且集成到软件项目的开发过程中。为了为Chrome提供这些功能,我们编写了ClusterFuzz,这是一套在25000多个核心上运行的模糊测试基础设施。两年前,我们开始通过OSS-Fuzz向开源项目提供ClusterFuzz这项免费服务。
今天,我们宣布ClusterFuzz现在是开源的,任何人都可以使用。
我们在这八年的时间里开发了ClusterFuzz,以便无缝地融入到开发人员的工作流程,并且使得查找错误并修复错误变得异常简单。ClusterFuzz提供端到端自动化:从错误检测到分类排查(准确的重复数据删除和二分法)、错误报告,直到最后的自动关闭错误报告。
ClusterFuzz已发现了Chrome中的16000多个错误,并发现了与OSS-Fuzz集成的160多个开源项目中的11000多个错误。它是Chrome及另外许多开源项目开发过程中不可或缺的一部分。ClusterFuzz常常能够在引入后几小时就能发现错误,并在一天内验证修复方法。
查看我们的GitHub代码库(https://github.com/google/clusterfuzz)。你可以遵照这些说明在本地尝试ClusterFuzz。在生产环境中,ClusterFuzz依赖谷歌云平台的一些关键服务,但你可以使用自己的计算集群。我们欢迎你的贡献,并期待任何有助于改善和扩展该基础设施的建议。我们希望,通过开源ClusterFuzz,鼓励所有软件开发人员将模糊测试集成到他们的工作流程中。
声明:本文来自云头条,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 开源前端脚本错误监控及跟踪解决项目BadJS试用
- LollipopGo开源游戏服务器框架--数据库错误问题
- 京东金融App收集隐私?属开发错误,开源库不背锅
- Golang学习笔记之错误处理error、panic (抛出错误),recover(捕获错误)
- c – 构建PBRT v2错误 – 错误1错误U1077:’if’:返回代码’0x1′
- !错误!在 Android 下这么用 ShowModal 是错误的!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。