自从去年年底 Log4j 漏洞被发现以来,软件供应链的安全问题就是目前很多企业和政府组织非常重视的问题。
此前 Google 就已经针对软件供应链的安全开源了一个名为 SLSA(Supply chain Levels for Software Artifacts)的框架,这是一个新的端到端框架,Google 希望通过 SLSA 能推动标准和准则的实施,以确保整个软件供应链中软件工件的完整性。
SLSA 框架的灵感来自其强制性的内部 「Binary Authorization for Borg」 执行检查器,该检查器可确保生产软件得到适当的审查和授权,特别是在代码可以访问用户数据的情况下。Binary Authorization for Borg 已经在 Google 内部使用了 8 年时间,并且是 Google 所有生产工作负载的强制性检查器。
Google 近日又公开了一个针对软件供应链的全新开源项目,该项目名为 GUAC(Graph for Understanding Artifact Composition),由 Google 与 Kusari、普渡大学和花旗银行合作开发。
这是一个免费的工具,可以将许多不同来源的软件安全元数据结合起来,GUAC 的目的是使软件构建、安全和依赖性元数据信息具有更广泛的可用性,使每个组织都能免费获得这些信息,而不仅仅是那些行业顶尖的企业组织。
此前存在的问题在于,尽管各企业组织目前可以获得软件材料清单、漏洞数据库和其他信息来源,但很难将这些信息结合起来并加以综合,无法获得一个更全面的数据视角。目前 GUAC 还处于早期开发阶段。
GUAC 有以下四个关键功能:
- 收集:可以配置 GUAC,并将其连接到各种软件安全元数据的信息来源(包括:公开、内部,以及合作的第三方数据来源)。
- 摄取:GUAC 从其上游数据源导入关于工件、项目、资源、漏洞、存储库甚至开发者的数据。
- 整理:从不同的上游数据源摄取原始元数据后,GUAC 通过规范实体标识符、遍历依赖树等,将其组合成一个连贯的图表。
- 查询:对照整理好的图表,用户可以查询附属于图中实体或与之相关的元数据。查询一个给定的工件可以返回它的 SBOM、出处、漏洞和最近的生命周期事件,以及那些与之相关的依赖关系。
目前你可以在 GitHub 上找到该项目的更多信息,该项目还在开发中, 目前并不完善,感兴趣的开发者也能积极参与项目开发。