Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サプライチェーンとSLSA

Avatar for yoseio yoseio
April 12, 2023

 サプライチェーンとSLSA

Avatar for yoseio

yoseio

April 12, 2023
Tweet

Other Decks in Programming

Transcript

  1. SLSAとは • SLSA:Supply chain Levels for Software Artifacts • サプライチェーンにおける成果物の完全性に関するフレームワーク

    • GoogleのBinary Authorization for Borgが元になっている • 4つのレベル https://slsa.dev/spec/v0.1 より
  2. 実装:GitHub Actions • SLSA GitHub Generatorを使う • やってくれること ◦ provenanceの生成

    ▪ 任意のアーティファクト ◦ provenanceの署名 ▪ Sigstoreを使ってActionsのOIDCトークンで署名する • やってくれないこと ◦ 特になし(GitLab CI・Cloud Buildと比較)
  3. 実装:GitLab CI • SLSAが組み込まれている(GitLab Runner 15.1 ~) • やってくれること ◦

    provenanceの生成 ▪ ジョブアーティファクト • やってくれないこと ◦ ジョブアーティファクト以外に対するprovenanceの生成 ◦ provenanceの署名 ▪ gitlab.com/gitlab-org/gitlab-runner/-/issues/29063
  4. 実装:Cloud Build • SLSAが組み込まれている • やってくれること ◦ provenanceの生成 ▪ Java・Python・コンテナ

    ◦ provenanceの署名 ▪ DSSEに準拠した署名 • やってくれないこと ◦ Java・Python・コンテナ以外に対するprovenanceの生成
  5. SLSA 1.0に向けて • 変更点 ◦ 複数のトラックに分割 ▪ 1.0 RCではビルドトラック(L1 ~

    L3)のみ ◦ provenanceの検証について明確化 • 今後の方向性 ◦ ビルドトラック L4の追加 ◦ ソーストラックの追加
  6. 所感 • まだ仕様が安定していないので導入は慎重にしたい ◦ 0.1 → 1.0は変更が大きいので1.0まで待ちたい ◦ 1.0以降は仕様が追加されるだけになりそう •

    必要に応じてポリシーエンジンを導入する ◦ GKE・Cloud Runの場合はBinary Authz ◦ Sigstoreの場合はPolicy Controller • Sigstoreを使う際はRekorに注意