ソフトウェアサプライチェーンセキュリティ ワーキンググループ

GitLab 全体に主要な SSCS 機能を実装します

属性

プロパティ
作成日2023-03-23
終了日2025-01-31
Slack#wg_software_supply_chain_security(社内からのみアクセス可能)
Google Docソフトウェアサプライチェーンセキュリティ ワーキンググループ アジェンダ(社内からのみアクセス可能)
Issue ラベルWorkingGroup::SSCS

概要と目標

ソフトウェアサプライチェーンセキュリティ(SSCS)は、GitLab が会社の利益だけでなく、ユーザーの利益とセキュリティのためにも優れた実績を残す必要がある重要な領域です。SSCS の機能と capabilities は、GitLab のほぼすべてのステージとグループにまたがっています。このワーキンググループの主な焦点は、GitLab への署名と検証の組み込みに取り組むことであり、Create::Source CodeVerify::Pipeline ExecutionVerify::RunnerPackage::Package RegistryPackage::Container Registry のグループが管理する領域での貢献が含まれます。他のチーム領域への軽微なコードの貢献もある可能性があります。署名と検証に関係のない GitLab でのその他の SSCS 機能作業は、このワーキンググループのスコープ外です(ただし、GitLab の他の領域で引き続き検討・作業されています)。この方向性ページでは、SDLC 全体における SSCS の広範な長期的ビジョンを説明しています。

署名と検証は伝統的に困難なタスクです。ビルドアーティファクト、コンテナイメージ、またはパッケージに安全に署名するために、ユーザーはまず署名の秘密鍵を安全に保管する必要があります。この鍵は定期的にローテーションする必要があり、署名ツールは署名鍵に安全にアクセスする方法が必要です。これらの要件をすべて合わせると、ユーザーがビルドに署名するための参入障壁が高くなります。その結果、多くのプライベートプロジェクトや小規模なオープンソースプロジェクトでは、署名されたビルドアーティファクトを公開していません。

高いレベルでは、このワーキンググループは GitLab を使用してアーティファクト、コンテナイメージ、またはパッケージをビルドするたびに、自動的にデフォルトで署名が行われるようにする計画を立てています。この複雑さをエンドユーザーから取り除き、デフォルトで有効にすることで、GitLab はこの参入障壁を下げ、署名を業界全体でデフォルトで有効な標準にするために貢献しようとしています。

参照リンク

以下のリンクはワーキンググループにとって有用な背景情報を提供する場合があります:

想定されるタイムライン

このワーキンググループは完了までに合計 12〜15 ヶ月を要する見込みです。このタイムラインはあくまで見積もりであり、終了基準が満たされた時点でワーキンググループは正式に終了します。これにより、12〜15 ヶ月の見積もりよりも長くなる場合も短くなる場合もあります。グループは各四半期末にレビューを実施します。

メンバーのコミットメントと期待値

他のワーキンググループとは異なり、この取り組みは他の作業よりも優先されることが期待されています。ワーキンググループの Govern ステージのコアメンバーは、このプロジェクトに約 80% の時間を貢献することを期待してください。他のステージのコアメンバーはボランティアであり、その時間の割合はより少ない場合があります。このコミットメントは、ワーキンググループに参加する前に、個人のマネージャーおよび該当する場合はプロダクトカウンターパートと話し合い、合意する必要があります。チームメンバーは通常のワーキンググループコントリビューターとして参加することもできます。

私たちはこのワーキンググループの人員配置ニーズを四半期ごとに再評価する予定です。ワーキンググループのプロダクトおよびエンジニアリング DRI は、チームの全体的な利益とワーキンググループのニーズに基づいて、各四半期にチームメンバーを増減または交代させる場合があります。チーム構成を再評価するために以下の日程が計画されています:

  • 2023年3月 - グループの初期形成
  • 15.10 マイルストーン(2023年3月17日)- ワーキンググループ正式開始
  • 2023年7月 - 四半期末のチーム構成評価
  • 16.2 マイルストーン(2023年7月17日)- チームの変更が発効
  • 2023年10月 - 四半期末のチーム構成評価
  • 16.5 マイルストーン(2023年10月17日)- チームの変更が発効
  • 2024年1月 - 四半期末のチーム構成評価
  • 16.8 マイルストーン(2024年1月17日)- チームの変更が発効
  • 2024年4月 - 四半期末のチーム構成評価
  • 16.11 マイルストーン(2024年4月17日)- チームの変更が発効

コード管理と引き継ぎ

ソフトウェアサプライチェーンセキュリティは GitLab 全体の領域に影響を与えるため、このワーキンググループはコミュニティコントリビューターに似た形で運営し、GitLab の他のステージやグループに機能を追加します。その機能が段階的に完成するにつれ、継続的なメンテナンスのために適切なステージ/グループに引き継がれます。

終了基準

このワーキンググループの終了基準は、以下の 4 つの基準の完了です:

  1. ビルドアーティファクト、アテステーションファイル、コンテナイメージ、パッケージを含むビルドがデフォルトで署名されること。
  2. Web UI を通じて行われたコミットを含むコミットがデフォルトで署名されること。このコミット署名のアプローチはまだ検討中です。
  3. SLSA レベル 3 のアテステーションがデフォルトで生成されること(現在はSLSA レベル 1 のアテステーションがデフォルトで生成されています)。
  4. ビルドアーティファクトコンテナイメージ、およびパッケージのビルド署名と検証ステータスが UI に表示されること。ユーザーが GitLab でアイテムを閲覧するだけでカスタムツールを実行することなく、検証ステータスがデフォルトで表示されること。

上記の作業を追跡するためのエピックは、必要な要件とデザインとともに作成中です。リンクがある項目については作業中のものとしてご確認ください。リンクのない項目を追跡するエピックは今後作成・追加される予定です。

クロージングサマリー

Sec セクションの再編により、Govern ステージはソフトウェアサプライチェーンセキュリティステージに名称変更されました。この変更に伴い、このワーキンググループを終了し、作業を個々のグループに分配します。

達成したこと:

  1. Cosign 用の OIDC プロバイダーとして GitLab.com を追加
  2. 署名済みコンテナレジストリイメージのユーザーエクスペリエンスをリリース
  3. Sigstore を使用したキーなし署名と検証の方法に関するドキュメントを追加
  4. ポリシーを含むジョブの source 値の保存をリリース

優先順位と進捗状況

エンジニアリング DRI が特定された後、作業の優先順位リストをここで追跡します。

プロダクト優先順位は 原文 (英語) を参照してください。

このリストは WIP であり、グループの残りの終了基準を満たすための優先エピックのリストを追加する作業が続いています。

成果

プロジェクト完了後に追加予定

役割と責任

ワーキンググループの役割担当者職位
エグゼクティブスポンサーHillary Bensonシニアディレクター、プロダクトマネジメント
プロダクト DRISam Whiteグループマネージャー、プロダクト - Govern
エンジニアリングマネージャー DRINathan Rosandichエンジニアリングマネージャー、Govern
エンジニアリング DRIAaron Huntsmanシニアバックエンドエンジニア、Govern
メンバーCharlie Ablettスタッフバックエンドエンジニア、Plan
メンバーGeorgi N. Georgievシニアバックエンドエンジニア、Verify
アドバイザーGreg Myersセキュリティエンジニア、アプリケーションセキュリティ
アドバイザーOttilia Westerlundセキュリティエンジニア、アプリケーションセキュリティ