Flutter持续集成调度应用程序Cocoon达到SLSA Level 3供应链安全性

Google已经强化其知名跨平台UI框架Flutter的软件供应链安全性,进一步使持续集成调度应用程序Cocoon,达到SLSA Level 3供应链安全性。SLSA(Supply chain Levels for Software Artifacts framework)是Google在2021年所推出的软件供应链安全框架,该框架制订一组安全指引,通过对组件和构件的认证,让开源软件用户有信心所使用的程序未经篡改。

Flutter Cocoon应用程序替Flutter基础设施提供持续集成调度,能够将多个持续集成服务与GitHub相集成,让开发者能够更简单地使用GitHub开发。Flutter Cocoon在2022年的时候达到SLSA level 2安全性,意味着Cocoon已经达到SLSA Level 1与SLSA Level 2的安全性。

SLSA Level 1是最低层级的要求,只包括基本的安全措施,在构建过程必须完全脚本化和自动化,并生成包括构建过程、顶层源码和相依项目出处(Provenance)等资讯。SLSA Level 1无法防止篡改,仅有基本的程序代码出处识别,提供有助漏洞管理的机制,而SLSA Level 2则需要使用可生成经身份验证出处的版本控制和托管构建服务,因此Cocoon在去年就已经拥有防止篡改的能力。

现在Cocoon达到SLSA Level 3,则代表出处程序代码和构建平台都符合标准,可保证出处的可审核性和出处完整性,审核人员可以依循SLSA流程,证明平台符合要求,使项目用户能够相信该项目的安全性,而且SLSA Level 3能够防止包括交叉构建感染等特定类别的威胁,具有比Level 2更高等级的防篡改能力。

Google表示,SLSA Level 3的目的是要提高安全性,通过验证构建出处确保Cocoon源码和构件都合格。出处指得是构件构建方法的描述,包括构建所用的机器类型、源码位置,以及构构建件所使用的指令等资讯,相比SLSA Level 2仅要求出处,SLSA Level 3更要求出处必须经验证合格。

Cocoon使用了SLSA Verifier工具来验证出处,所有Cocoon构建只有在具有合格出处的时候才会被接受,而出处必须证明构件是在Cloud Build执行实例上构建,且源码来自GitHub上的Cocoon存储库,Google提到,这些限制确保Cocoon构件安全且可靠。

除了持续提高Cocoon的SLSA Level之外,Google也在努力提高更复杂的项目,诸如Flutter和引擎的SLSA Level,官方提到,由于这些项目要提升SLSA Level,需要彻底改造构件生成过程,并且强化发布工作流程以符合安全规范,因此还有很多挑战需要克服。