Go Fuzzing 进入 Beta 测试阶段

开发 前端
Go 团队宣布原生的 fuzzing(模糊测试)功能已准备好在其开发分支 dev.fuzz 上进行 Beta 测试。

[[404464]]

Go 团队宣布原生的 fuzzing(模糊测试)功能已准备好在其开发分支 dev.fuzz 上进行 Beta 测试。

Fuzzing 属于自动化测试,它通过持续控制程序的输入来暴露诸如 panic 或 bug 之类的错误。这些半随机的数据突变可以发现现有单元测试可能遗漏的新代码覆盖范围,以及很难被注意到的边缘案例的错误。由于模糊测试可以触达这些边缘案例,所以模糊测试对于发现安全漏洞和缺陷特别有价值。

下面是提案 Draft Design 的部分内容:

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

 

  1. $ go get golang.org/dl/gotip 
  2. $ gotip download dev.fuzz 

请注意,Go 团队表示 Go fuzzing 会消耗大量内存,并且可能会影响机器运行时的性能,因此他们建议使用参数-parallel来减少进行模糊测试进行时使用的进程数。

最后,Go 1.17 不会引入 Go fuzzing,但有计划在未来的版本中提供。

本文转自OSCHINA

本文标题:Go Fuzzing 进入 Beta 测试阶段

本文地址:https://www.oschina.net/news/145093/go-fuzz-beta

责任编辑:未丽燕 来源: 开源中国
相关推荐

2009-04-22 16:34:38

linuxbeta测试

2013-12-05 13:08:07

2020-03-01 13:38:40

Fuchsia测试命令

2010-05-12 09:12:46

Fedora 13 R

2021-07-17 15:44:16

Beta测试频道Windows 11微软

2010-03-17 17:08:57

2023-04-20 13:31:35

物联网智能建筑

2017-06-16 10:44:09

2009-03-22 09:45:07

Windows 7IE8微软

2009-03-12 11:43:22

Windows 8微软

2010-11-23 10:14:54

Windows 8

2013-07-19 15:52:11

5G预热5G竞赛

2023-08-11 09:41:48

AFLfuzzingPatch

2012-02-15 10:19:39

惠普ARM架构服务器

2022-04-17 23:04:36

数字人民币银行金融

2010-12-28 09:31:00

Windows 7 S

2011-12-01 11:21:33

2009-11-12 09:27:21

Chrome 4.0测试阶段浏览器

2021-12-15 10:23:56

Go 1.18 Bet语言泛型

2011-12-01 12:00:45

点赞
收藏

51CTO技术栈公众号