Go 博客

Govulncheck v1.0.0 发布了!

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

我们很高兴地宣布 Govulncheck v1.0.0 已发布,同时发布的还有用于将扫描集成到其他工具中的 API 的 v1.0.0 版本!

Go 对漏洞管理的支援是去年九月首次宣布的。从那时起,我们进行了一些更改,最终促成了今天的发布。

本文介绍了 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 发布候选版本
博客索引