Go 团队最近挺勤劳,最近又发布了一款名叫 govulncheck 的创新型代码漏洞检测工作,调查结果显示错误处理已移至使用开源编程语言时“最大”挑战列表的顶部。
$ go install golang.org/x/vuln/cmd/govulncheck@latest
$ govulncheck ./...
govulncheck 是一个独立的工具,团队未来计划将该工具集成到主要的 Go 发行版中。目前,Go 安全团队已将漏洞检测功能集成到现有的 Go 工具和服务中,例如 Go package discovery site,以及像下面这样的页面,显示了 golang.org/x/text 每个版本中的已知漏洞。
该工具发布非常及时,因为 Go 的新调查显示开发人员发现评估第三方库和他们自己的代码的安全性具有挑战性。
在调查中,有5,752 名开发者里有 42% 的人表示他们很难应用最佳实践来编写安全代码,45% 的人发现很难验证其代码,57% 的人认为评估库安全性具有挑战性。
以上调查之背景是 Go v1.18 3 月发布的最新结果,它被描述为“大规模发布”和“对编程语言的最大改变”。
大概 Go 最大的变化是引入了泛型,以及用于发现潜在安全问题或错误的内置模糊测试、用于简化处理多个模块的工作区以及在 ARM64 架构上的性能提高近 20%。
据调查,大约 94% 的开发人员打算在 Go 语言中使用泛型,尽管到目前为止只有 14% 的开发人员在生产型代码中使用。但这只是时间问题,但一些受访者报告了当前实现中的阻碍,例如需要参数化方法。
VSCode 是最受欢迎的 Go 代码编辑器,自去年以来从 42% 增加到 45%,GoLand 以 34% 的份额稳居第二。Go 开发人员更喜欢使用 Linux 进行开发(59%),而 Mac(52%)排在第二位。只有 23% 的用户使用 Windows,13% 的用户使用 Windows Subsystem for Linux(注意,由于用户使用多种环境,这些数字的总和超过 100%)。
此外 93% 的Go 系统部署到 Linux,只有 16% 部署到 Windows。只有 3% 的开发者会编译 Go 为 WebAssembly 进行部署。
虽然 93% 的受访者表示自己对 Go 语言感到满意,但 11% 的受访者认为错误处理和使用堆栈跟踪是使用Go时面临的最大挑战。与许多其它语言不同,Go 目前不支持 ...catch 异常,而是要使用自己的例外处理与恢复方法。
编辑:场长
参考:
https://devclass.com/2022/09/12/go-new-vulnerability-checker-released-survey-shows-developers-in-search-of-better-error-handling/
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。