サプライチェーンセキュリティとは?
サプライチェーンセキュリティとは、ソフトウェアに流れ込むすべてのもの(依存関係、buildツール、そしてpipeline自体)を改ざんから保護することです。
攻撃者は、アプリそのものではなく、それをbuildするものをますます狙うようになっています。侵害された依存関係、悪意あるbuildアクション、汚染されたcacheは、出荷するすべてのものにコードを注入しうります。サプライチェーンセキュリティは、ソースからartifactまでの経路全体を防御します。
攻撃対象領域
- 依存関係:ツリー内の悪意ある、あるいは乗っ取られたパッケージ。
- buildツール:侵害されたCIアクションやコンテナimage。
- pipeline:漏洩したsecret、汚染されたcache、改ざんされたartifact。
中核となる防御策
依存関係とアクションを正確なバージョンまたはダイジェストにpin固定し、依存関係を既知の脆弱性についてスキャンし、SBOMを生成し、buildを最小権限で実行し、artifactに署名して、受け取る側が受領物を検証できるようにします。
小さな例
サードパーティのアクションを、移動するタグではなく完全なコミットSHA(uses: owner/action@<sha>)にpin固定すれば、乗っ取られたタグがひそかに悪意あるコードにすり替わることはありません。SHAは、あなたがレビューしたコードにしか解決されないからです。
provenanceがすべてを結びつける
build provenance(artifactがどのように、何からbuildされたかを示す署名付きの声明)により、下流の利用者はartifactが本当にあなたのpipelineとソースから来たものであることを検証でき、信頼の輪が閉じます。
これは多層的な問題
単一の対策では不十分です。pin固定、スキャン、SBOM、最小権限、署名、provenanceはそれぞれ1つの隙を塞ぎます。それらを組み合わせることで、ソースから本番までの経路が、あらゆるステップで改ざんに耐えるものになります。
重要なポイント
- サプライチェーンセキュリティは、ソースからartifactまでの経路全体を保護します。
- 脅威には、悪意ある依存関係、buildツール、pipelineの改ざんが含まれます。
- 防御策:pin固定、スキャン、SBOM、最小権限、署名付きprovenance。
関連ガイド
What Is Build Provenance?Build provenance is a signed, verifiable record of how an artifact was built and from what source. Learn how…
What Is an SBOM?An SBOM is a software bill of materials - a complete inventory of every component in your build. Learn the fo…
What Is Artifact Signing?Artifact signing attaches a cryptographic signature to a build output so consumers can verify its integrity a…