Go 博客

Govulncheck v1.0.0 发布!

Julie Qiu,代表 Go 安全团队
2023 年 7 月 13 日

我们很高兴地宣布 govulncheck v1.0.0 以及用于将扫描集成到其他工具中的 API 的 v1.0.0 版本已发布!

Go 对漏洞管理的支持于去年 9 月 首次宣布。从那时起,我们进行了一些更改,最终在今天的版本中体现出来。

这篇文章介绍了 Go 更新后的漏洞工具以及如何开始使用它。我们最近还发布了 安全最佳实践指南,以帮助您优先考虑 Go 项目中的安全问题。

Govulncheck

Govulncheck 是一款命令行工具,可帮助 Go 用户在其项目依赖项中查找已知的漏洞。该工具可以分析代码库和二进制文件,并且通过优先考虑代码实际调用的函数中的漏洞来减少干扰。

您可以使用 go install 安装最新版本的 govulncheck

go install golang.org/x/vuln/cmd/govulncheck@latest

然后,在您的模块中运行 govulncheck

govulncheck ./...

有关如何开始使用该工具的更多信息,请参阅 govulncheck 教程

从本版本开始,现在提供了一个稳定的 API,在 golang.org/x/vuln/scan 中进行了描述。此 API 提供与 govulncheck 命令相同的功能,使开发人员能够将安全扫描程序和其他工具与 govulncheck 集成。例如,请参阅 osv-scanner 与 govulncheck 的集成

数据库

Govulncheck 由 Go 漏洞数据库 https://vuln.go.dev 提供支持,该数据库提供了有关公共 Go 模块中已知漏洞的全面信息来源。您可以在 pkg.go.dev/vuln 中浏览数据库中的条目。

自初始版本发布以来,我们已更新了 数据库 API 以提高性能并确保长期可扩展性。一个用于生成您自己的漏洞数据库索引的实验性工具在 golang.org/x/vulndb/cmd/indexdb 中提供。

如果您是 Go 软件包维护者,我们鼓励您 提供信息,说明您项目中的公共漏洞。

有关 Go 漏洞数据库的更多信息,请参阅 go.dev/security/vuln/database

集成

漏洞检测现已集成到许多 Go 开发人员工作流程中已有的工具套件中。

可以在 pkg.go.dev/vuln 中浏览 Go 漏洞数据库中的数据。漏洞信息也会在 pkg.go.dev 的搜索和软件包页面上显示。例如,golang.org/x/text/language 的版本页面 显示了该模块旧版本中的漏洞。

您还可以使用 Visual Studio Code 的 Go 扩展在编辑器中直接运行 govulncheck。请参阅 教程 以开始使用。

最后,我们知道许多开发人员希望将 govulncheck 作为其 CI/CD 系统的一部分运行。作为起点,我们为与您的项目集成提供了 govulncheck 的 GitHub Action

视频演练

如果您有兴趣了解上面介绍的集成的演示,我们在今年的 Google I/O 上介绍了这些工具的演练,在我们的演讲中,使用 Go 和 Google 构建更安全的应用

反馈

与往常一样,我们欢迎您的反馈!请参阅 如何贡献并帮助我们改进 的详细信息。

我们希望您会发现 Go 对漏洞管理支持的最新版本很有用,并与我们一起构建更安全、更可靠的 Go 生态系统。

下一篇文章:分享您对使用 Go 进行开发的反馈
上一篇文章:Go 1.21 发布候选版本
博客索引