Go社区从一开始就拥抱GitHub,今天GitHub既是一个代码协作平台,也是一个发布Go相关项目包的地方,这就是为什么Go编程语言已经成为GitHub最受欢迎的编程语言之一。为了改进Go模块中安全漏洞的发现、报告和预防,GitHub最近宣布了几项新功能,以提高Go模块的供应链安全性。据GitHub介绍,他们在以下四个方面提升了Go模块的供应链安全性:AdvisorysGitHub的AdvisoriesDatabase是一个开源的漏洞信息数据库,专注于为开发者提供高质量、可操作的漏洞信息。它基于CreativeCommonsAttribution4.0许可,因此数据可以在任何地方使用。到目前为止,该数据库已经发布了150多个相关内容,并且随着GitHub对现有漏洞的整理和对新发现漏洞的分类,这个数字每天都在增长。如果您是Go模块维护者,您现在还可以使用安全公告来协调漏洞披露。您可以与错误报告者(例如安全研究人员)合作,在错误公开之前私下讨论和修复错误。安全公告还使漏洞报告者能够为已发现的漏洞请求CVEID,并将它们发布到国家漏洞数据库(NVD)。依赖关系图GitHub的依赖关系图分析存储库的go.mod文件以了解存储库的依赖关系。依赖关系图连同安全公告提供了提醒开发人员注意漏洞依赖关系所需的信息。默认情况下,公共存储库启用依赖图,但对于私有存储库,您必须手动启用它。为了帮助防止引入新的漏洞,开发人员可以在审查拉取请求时使用依赖项审查来查看修改对go.mod文件的影响。DependabotalertsGitHub在本次更新中还添加了Dependabot,当在Go模块中发现新的漏洞时,它会通知开发者。通知设置也已更新,允许用户微调他们想要接收的通知类型。Dependabot安全更新Dependabot安全更新通过拉取请求自动将易受攻击的Go模块升级到不易受攻击的版本。根据GitHub的一项调查,自动生成拉取请求以更新错误依赖项的存储库比不生成拉取请求的存储库快40%。“GitHub是最受欢迎的开源Go模块托管平台,”GoogleGo语言产品负责人SteveFrancia说。“宣布的新功能不仅会帮助GitHub用户,还会帮助任何依赖GitHub托管模块的开发人员。在这方面的投资有利于整个生态系统,我们期待在未来与他们进行更多合作。”Gomodules于2019年推出,以改善依赖管理。根据2020年的Go开发人员调查,76%的受访者在其企业中以某种形式使用Go。此外,如今Gomodules的采用率继续增加,96%的受访者表示它们用于包管理——高于2019年87%的受访者将Go模块用于这些目的。调查中出现的一个普遍趋势似乎是其他包管理工具的使用正在减少。对Go模块的改进也将提高行业整体安全本文转自OSCHINA文章标题:鉴于Go语言的流行,GitHub提升了Gomodules模块的供应链安全
