go官方推出漏洞数据库以及工具支持go应用程序的漏洞管理,使得开发人员可以更容易了解,可能影响应用程序的已知漏洞。go提供工具让用户分析程序代码库,发现已知的漏洞,该工具背后由漏洞数据库提供支持,官方提到,该工具仅会显示呈现真正被调用函数中存在的漏洞,不会提供无用充满噪声的消息。
go在漏洞数据库公开go模块可导入组件中,所包含的已知漏洞消息,这些漏洞资料来自cve、ghsa现有漏洞数据库,另外,漏洞数据库也会包含来自go组件维护者回应的漏洞,go安全团队会负责审查这些资讯,并将其添加到数据库中。
官方表示,他们鼓励组件维护者在自己的项目中,提供有关公开漏洞的资讯,并根据已知的漏洞资讯更新自己的go组件。官方会持续降低回应过程的摩擦,用户也可以直接使用浏览器查看漏洞数据库的内容。
开发者可以使用govulncheck指令来分析程序代码库,可靠地获得可能对项目造成影响的已知漏洞,govulncheck只会显示程序代码库中,实际被调用且存在易受攻击漏洞的函数,官方解释,目前govulncheck是以独立工具的形式发布,让他们可以在收集到用户反馈的时候,更频繁地进行更新和迭代,但是在长远的计划中,govulncheck将会集成到go的发布版本中。
vulncheck组件将govulncheck的功能导出成为go api,因此开发者可以将漏洞检测,集成到其他工具和流程中。官方也提到,开发和部署过程越早发现漏洞越好,因此官方也将漏洞检测集成到现有的go工具和服务中,像是go组件探索网站,该页面除了会显示组件资讯,也会列出每个版本的已知漏洞,此外,官方也即将在vs code go扩展组件推出漏洞检测功能。