Go Fuzzing已经进入Beta测试阶段

Posted 传智教育官方博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go Fuzzing已经进入Beta测试阶段相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
Fuzzing是软件测试技术,模糊测试 (fuzz testing, fuzzing)。核心的思想是自动化或者半自动的生成随机数据输入到一个程序中,并且见识程序异常。如崩溃、断言失败,以发现可能的程序错误。比如内存泄露等;模式测试尝尝被用于检测软件或者计算系统的安全漏洞。

在Go中,开发人员可以自荐模糊测试,或者是用go-fuzz和fzgo来解决部分模糊测试需求。官方以为过去的模糊测试的解决方案,增加额外的测试成本,包括开发者需要自定义命令列工具,且缺乏模块支持,也没有标准函数库的测试和自定义支持。

下面内容是D Draft Design 的部分内容:

支持使用-race和-msan进行模糊测试
支持使用-keepfuzzing进行模糊测试
对由不同 mutator 引起的类似崩溃进行重复数据删除,这将是实现-keepfuzzing(降低噪音)的先决条件
在模糊处理时允许特殊选项(例如最大输入大小)
支持字典
模糊测试时可自定义覆盖范围检测(例如,仅检测某些软件包或文件)
为 mutator 定制生成器
支持结构化和非基本类型的结构化
[1.17的扩展目标]对除[]byte(例如字符串,int,float64)之外的其他原始类型的结构化支持

以上是关于Go Fuzzing已经进入Beta测试阶段的主要内容,如果未能解决你的问题,请参考以下文章

Beta阶段测试报告

AFL安装教程

Beta阶段测试与发布

Beta冲刺总结

Go Fuzzing 还未发布就遭重创,未来将何去何从?

Beta阶段第八次Scrum Meeting