Go 安全团队宣布了管理漏洞的新项目——用于帮助 Go 开发者了解可能会影响他们的已知漏洞。
该项目由三部分构成:
- 漏洞数据源 (Data Sources)
- Go 漏洞数据库 (Go Vulnerability Database)
- 工具和集成 (Tools & Integrations)
Go 漏洞数据库 (https://vuln.go.dev) 是一个综合性的信息源,其中包含公共 Go module 中可导入包的已知漏洞。这些漏洞数据的上游也有其来源,例如 CVE 和 GHSA,以及 Go 软件包维护者的直接报告。Go 安全团队获取到这些数据后会进行审查,并将其添加到数据库中。
任何人可直接访问 https://pkg.go.dev/vuln/ 查看 Go 漏洞数据库。有关该数据库的更多信息,查看 go.dev/security/vuln/database。
新的 govulncheck 命令让 Go 开发者能够了解可能影响其项目的已知漏洞。govulncheck 通过分析代码库,并仅根据代码中的哪些函数传递调用易受攻击的函数来发现实际影响的漏洞。要开始使用 govulncheck,先运行以下命令:
$ go install golang.org/x/vuln/cmd/govulncheck@latest
$ govulncheck ./...
govulncheck 是一个独立的工具,团队未来计划将该工具集成到主要的 Go 发行版中。目前,Go 安全团队已将漏洞检测功能集成到现有的 Go 工具和服务中,例如 Go package discovery site,以及像下面这样的页面,显示了 golang.org/x/text 每个版本中的已知漏洞。
最后,VS Code Go 扩展的漏洞检测功能也即将推出。