[译] Go 新漏洞管理工具:govulncheck

2023-04-11 20:54:09 浏览数 (1)

前言

我们很高兴地宣布 Go 对漏洞管理的最新支持,这是我们为帮助 Go 开发者了解可能影响他们的已知漏洞而迈出的第一步。

这篇文章概述了这个项目的当前状况和后续计划。

概览

Go 提供的工具可以分析你的代码库并展示出已知的漏洞,该工具由 Go 安全团队设计维护的 Go 漏洞数据库提供支持。Go 只展示代码调用函数中的漏洞,从而减少结果中的噪音。

Go 漏洞数据库

Go 漏洞数据库(https://vuln.go.dev/)是一个囊括了公共 Go 模块中可导入包的已知漏洞的全面信息源。

漏洞数据来自现有来源(如 CVEs 和 GHSAs)以及 Go 软件包维护者的直接报告。这些信息将由 Go 安全团队审查并添加至数据库中。

我们鼓励软件包维护者贡献他们自己项目中的公共漏洞信息,并更新现有漏洞信息。我们旨在让报告漏洞成为一个低阻力的过程,所以请把你的建议发送给我们,以便于我们进行改进。

我们可以在浏览器中查看 Go 漏洞数据库,网址为 pkg.go.dev/vuln。关于数据库的更多信息详见 go.dev/security/vuln/database。

使用 govulncheck 进行漏洞检测

新的 govulncheck 命令是一种低噪音、稳定的方式,让 Go 用户了解可能影响其项目的已知漏洞。Govulncheck 会基于代码中涉及调用易受攻击函数的函数分析你的代码库,展示对你有实际影响的漏洞。你可以在项目中运行以下程序来使用 govulncheck。

代码语言:javascript复制
$ go install golang.org/x/vuln/cmd/[email protected]
$ govulncheck ./...

Govulncheck 是一个独立的工具,以便在我们收集用户的反馈时可以频繁更新和快速迭代。从长远来看,我们计划将 govulncheck 工具整合到 Go 的主要发行版中。

为了将漏洞检查直接集成到其他工具和流程中,vulncheck 包将 govulncheck 的功能作为 Go API 导出。

集成

在开发和部署过程中尽可能早地了解漏洞总是更好的。为此,我们将漏洞检测整合到现有的 Go 工具和服务中,如Go 软件包发现页。例如,这个页面显示了 golang.org/x/text 每个版本中的已知漏洞。通过 VS Code Go 扩展进行漏洞检查的功能也即将推出。

后续计划

我们希望你能发现 Go 对漏洞管理的支持是有用的,并帮助我们改进它!

Go 漏洞管理是一项正在积极开发中的新功能,可能会有一些错误和局限之处。

我们希望您能在以下方面做出贡献,帮助我们进行改进。

  • 贡献新的和更新现有的涉及你所维护的 Go 软件包的公共漏洞信息
  • 参加此调查,分享您使用 govulncheck 的体验
  • 向我们反馈问题和新功能需求

我们很高兴能与你合作,建立一个更好、更安全的 Go 生态系统。

参考资料

  1. 原文地址:https://go.dev/blog/vuln
  2. 原文作者:Julie Qiu, for the Go security team
  3. 本文永久链接:https://github.com/gocn/translator/blob/master/2022/w37_Vulnerability_Management_for_Go.md
  4. 译者:张宇
  5. 校对:Fivezh

0 人点赞