当前位置: 首页 > 科技观察

GoFuzzing进入Beta

时间:2023-03-16 02:16:21 科技观察

Go团队宣布原生模糊测试(fuzzing)功能已准备好在其开发分支dev.fuzz上进行Beta测试。模糊测试是一种自动化测试,它通过持续控制程序的输入来暴露错误,例如恐慌或错误。这些半随机数据突变可以发现现有单元测试可能遗漏的新代码覆盖率,以及边缘情况下未被注意到的错误。因为模糊测试可以达到这些边缘情况,所以模糊测试对于发现安全漏洞和缺陷特别有价值。这是提案设计草案的一部分:支持使用-race和-msan进行模糊测试支持使用-keepfuzzing进行模糊测试重复删除由不同突变器引起的类似崩溃,这将是实现-keepfuzzing(降噪)的先决条件允许在模糊测试时使用特殊选项(例如最大输入大小)支持字典模糊测试可定制的覆盖检测(例如只检测某些包或文件)自定义生成器支持结构化和非原始类型的突变器结构[1.17的扩展目标]结构支持除[]以外的原始类型byte(egstring,int,float64)更多细节见https://golang.org/s/draft-fuzzing-design运行以下命令使用gofuzzing$gogetgolang.org/dl/gotip$gotipdownloaddev.fuzz请注意Go团队表示Gofuzzing会消耗大量内存,运行时可能会影响机器性能,所以他们推荐使用参数-parallel来减少proc次数执行模糊测试时使用的esses。最后,Go1.17不会引入Go模糊测试,但计划在未来的版本中提供。本文转自OSCHINA本文标题:GoFuzzing进入Beta测试阶段本文地址:https://www.oschina.net/news/145093/go-fuzz-beta