乐趣区

关于flutter:Flutter-Cocoon-已达到-SLSA-2-级标准的要求

文 / Jesse Seales, Dart 和 Flutter 平安工作组工程师

今年年初,咱们公布了 Flutter 2022 产品路线图,其中「基础设施建设」这部分提到:2022 年 Flutter 团队将减少对供应链的平安的投入,目标是达到合乎基础设施 SLSA 4 级别中形容的要求。4 月份下旬,Dart 团队与 GitHub 单干,Dependabot 开始反对 pub.dev 上的 package 版本检测。

Cocoon 是一个治理 Flutter Infra CI 的工具利用,咱们曾经实现了晋升到 SLSA 2 级规范所要求的内容,将身份辨认和拜访治理 (Identity and Access Management, IAM) 权限升高到所需的最低权限,并对局部利用权限治理施行了基础设施即代码 (Infrastructure as code, IaC) 的策略。

身份辨认和拜访治理 (IAM) 是一种平安权限措施,次要用于拜访敏感技术资源时,为不同须要的人受权不同的权限。基础设施即代码 (IaC) 的外围思路是通过代码而不是用手动的形式和流程来治理我的项目的基础设施。

亮点

Cocoon 不仅能够治理 Flutter Infra CI,还能够将多个 CI 服务与 GitHub 集成,使得团队在 GitHub 上开发变得更容易。Cocoon 通过了 SLSA 2 级的要求,这意味着 Cocoon 曾经解决了 SLSA 1 和 2 级别中所有的平安问题。Google 的开源平安团队曾经验证并审核了 Cocoon 具备 SLSA 2 级规范的要求。

咱们为 docs-flutter-devmaster-docs-flutter-devflutter-dashboard 施行了额定的平安强化措施,应用基础设施即代码 (IaC) 零碎实现身份辨认和拜访治理 (IAM)。这几个我的项目十分重要,他们为 Flutter 提供开发文档以及 Flutter 构建状态的仪表盘等。在 IaC 零碎的治理下,平安权限的更改须要改变代码,没有批准则无奈进行任何改变。也就是说,平安权限的扭转是要通过版本控制系统来批改代码的,并且须要提供扭转的理由。现有的 IAM 权限将会被削弱以遵循最小权限准则 (Principle of least privilege)。

劣势

  • 为 Cocoon 实现 SLSA 2 级的要求内容,象征 Cocoon 的供应链具备「针对特定威逼的额定抵挡能力」;
  • Cocoon 的主动构建流程为 flutter-dashboard 和 auto-submit 提供了源代码出处和防篡改的构建证实,这有助于增强构建流程中应用多种工具的安全性,如 Google Cloud Platform、Cloudbuild、App Engine 和 Artifact Registry;
  • 整体看,咱们曾经为 Cocoon 解决了所有级别要求中 83% 的内容,并曾经敲定了为了满足每个 SLSA 级别的合规性工作,咱们也做好 Cocoon 迈向 SLSA 4 级要求的筹备。

经验总结和最佳实际

  1. 通过 Google Cloud Build 服务,咱们仅做了绝对较小的改变就晋升了 Cocoon 构建过程中的供应链安全性,因为元数据验证会在 Cloud Build 过程中主动验证。
  2. 通过代码来治理和调整 IAM 权限会带来很多额定的益处,并且能够使首次拜访权限的受权变得更简略。
  3. 进步或“降级”SLSA 的不同等级标准有时须要依据利用的构建流程等因素做出不同的投入。在争取达到最高级别 (SLSA 4) 的过程中会须要做很多不同于其余等级 (比方 SLSA 2 级) 的更改。

瞻望下一步

这将是 Flutter 和 Dart 走向更高 SLSA 级别要求的开始,咱们心愿能够将其中的播种实际到更多的利用中,同时也心愿开始为 flutter/flutter 这样更简单的代码库进行 SLSA 2 级以上的革新工作,同时也心愿 Cocoon 利用能够达到更高水平的 SLSA 合规等级。

退出移动版