CNCF:不変ダイジェストへのピン留め、最小権限トークン、エフェメラルランナー——より安全なGitHub ActionsパイプラインへのレシピカードCNCF発表
Cloud Native Computing Foundation(CNCF)セキュリティ技術諮問グループ(TAG)は2026年5月4日、サプライチェーン攻撃からGitHub Actions CI/CDパイプラインを保護するための実践的ガイドを発表しました。Marina Moore、Evan Anderson、Sherine Khouryが5つの具体的なプラクティスを定式化し、zizmor、frizbee、pinact、ratchet、Dependabotなどのツールを紹介しています。
この記事はAIにより一次情報源から生成されました。
Cloud Native Computing Foundation(CNCF)Technical Advisory Group(TAG)セキュリティは2026年5月4日、実践ガイド**「Securing GitHub Actions CI dependencies — Recipe card」**を発表しました。著者のMarina Moore、Evan Anderson、Sherine KhouryはCI/CDパイプラインのサプライチェーンリスクに焦点を当て、メンテナーとDevSecOpsチームに5つの具体的なセキュリティプラクティスを提供しています。
なぜGitHub Actionsはサプライチェーン攻撃の攻撃面なのか?
著者らは問題を明確に表現しています:**「サードパーティのアクションを実行することは、そのコードをクローンして自分のパーミッションスペース内で実行することと同等です。」**侵害された依存関係はシークレット(APIキー、デプロイ認証情報)の漏洩、ビルド前のコード変更、またはレジストリへのパッケージ公開の妨害を招く可能性があります。
5つの推奨プラクティスは何か?
-
使用前の評価 — 検証された組織からのアクションまたはGitHub検証があるものを優先し、定期的な更新とアクティブなコミュニティに注目します。最後のコミットが1年前で3人のコントリビューターしかいないアクションは未知のパッケージと同様にリスクがあります。
-
不変ダイジェストへのピン留め — 可変タグ(
@v1など)をユニークなコミットSHAハッシュに置き換えます。そうしなければ「上流タグを更新できる誰もがあなたの材料を変更できます」——上流アカウントへの侵害が同じタグ名での静かな再起動により伝播します。 -
依存関係の自動更新 — DependabotまたはRenovateを使用してアクションを定期的に更新し、「最新のセキュリティアップデートの恩恵を受ける」ようにします。自動更新なしのピン留めは古いバージョンに留まらせます。
-
最小権限トークンアクセス — GITHUB_TOKENの権限をワークフローに必要な最小限に制限します。デフォルトの権限は広すぎます;ワークフローが実際に必要とする権限を明示的に宣言することで、侵害時のブラストラジアスを大幅に削減します。
-
ランナーインフラストラクチャの選択 — GitHub Hostedのエフェメラルランナーとセルフホストのランナーを、セキュリティのトレードオフを理解した上で選択します。エフェメラルランナーはクリーンなディスクで各ジョブを開始・終了します;セルフホストランナーはコントロールを提供しますが、自身でのハードニングが必要です。
CNCFが具体的に推奨するツールは?
CNCFの記事は上記のプラクティスに対応する具体的なオープンソースツールを挙げています:
- zizmor、frizbee — ワークフローのセキュリティ問題のスキャン
- pinact、pin-github-action、ratchet — コミットSHAへの自動ピン留め
- scorecard — 依存リポジトリのセキュリティの自動スコアリング
- Dependabot、Renovate — プルリクエストによる自動更新
レシピカード形式は実行可能です——これは理論的な分析ではなく、DevOpsチームがすぐに適用できるチェックリストです。
記事は2026年5月4日にcncf.ioで公開されています。
よくある質問
- なぜサードパーティのGitHub Actionはセキュリティリスクなのですか?
- サードパーティのアクションを実行することは、そのコードをクローンして自分のパーミッションスペース内で実行することと同等です、と著者らは述べています。侵害された依存関係はシークレットの漏洩、コードの変更、またはパッケージの公開の妨害を招く可能性があります。
- 不変ダイジェストへのピン留めとは何ですか?
- 上流リポジトリの所有者が変更できる可変タグ(@v1など)への参照の代わりに、一意の不変なコミットSHAハッシュに紐付けます。これにより、上流へのアクセス権を持つ何者かがあなたの知らないうちに依存関係を変更できないことが保証されます。
- CNCFが具体的に推奨するツールは何ですか?
- ピン留め用:pinact、pin-github-action、ratchet。ワークフロースキャン用:zizmor、frizbee。スコアリング用:scorecard。自動更新用:DependabotとRenovate。