跳到主要内容

开源项目的安全记分卡

通过 11月 6, 2020#!30周一, 20 9月 2021 06:05:47 -0700p4730#30周一, 20 9月 2021 06:05:47 -0700p-6America/Los_Angeles3030America/Los_Angelesx30 20上午30上午-30周一, 20 9月 2021 06:05:47 -0700p6America/Los_Angeles3030America/Los_Angelesx302021周一, 20 9月 2021 06:05:47 -0700056059上午星期一=136#!30周一, 20 9月 2021 06:05:47 -0700pAmerica/Los_Angeles9#9月 20th, 2021#!30周一, 20 9月 2021 06:05:47 -0700p4730#/30周一, 20 9月 2021 06:05:47 -0700p-6America/Los_Angeles3030America/Los_Angelesx30#!30周一, 20 9月 2021 06:05:47 -0700pAmerica/Los_Angeles9#博客

作者:Kim Lewandowski,谷歌产品经理

当OpenSSF启动时,我想做的第一件事就是帮助人们在消费开源项目时做出更好的安全决策,并让人们更多地了解我们所依赖的这些关键项目的健康状况。有些人可能会说,在你的软件系统中引入一个新的依赖关系几乎太容易了。在我以前的工程师生活中,我绝对犯了这样的错误。我记得我在建立自己的网站时随机拉入了Python包,而没有考虑到安全问题。如果有那么多人在使用同一个包,应该是没问题的,对吗?

随着开源软件攻击的增加,现在有更多的人意识到,把不是你写的开源代码拉到你的软件供应链中,应该值得仔细审查。在大型企业中,当试图对任何新的依赖关系进行自动化分析和信任决策,或对现有依赖关系的卫生状况进行更新时,这会变得有点棘手。这些问题是激发新的 "记分卡" 我们今天要发布的OpenSSF项目。 

计分卡的目标是为开源项目自动生成一个 "安全分数",以帮助用户决定其使用案例的信任、风险和安全态势。当项目或组织内部引入新的开源依赖关系时,该数据也可用于以自动化的方式增强任何决策。例如,组织可以决定任何低分的新依赖关系必须经过额外的评估。这些检查可以帮助减轻恶意依赖,使其不会被部署到生产系统中,就像我们最近看到的 恶意的NPM包.

我们已经定义了一个初步的评估标准,将用于以完全自动化的方式为一个开源项目生成一个记分卡。目前,该代码只适用于来自GitHub的软件库,但我们将扩展它以涵盖其他源代码库。使用的一些评估指标包括定义明确的安全政策、代码审查过程和使用模糊和静态代码分析工具的持续测试覆盖率。

利用记分卡数据,我们希望通过提高可见度来建立一种安全文化。我们希望与社区合作,改善我们所依赖的关键项目的安全状况。

现在是这个项目的早期阶段,虽然我们在这个问题上取得了一些进展,但我们还没有解决这个问题,需要社区的帮助来改进这些安全评估指标,并增加新的指标。有一个 小愿望清单 的问题已经在 repo 中。让我们一起为开源软件的更安全的未来而努力!

这篇文章代表作者的观点,不一定反映所有OpenSSF成员的观点。