Skip to content
Latchkey

サプライチェーンセキュリティとは?

サプライチェーンセキュリティとは、ソフトウェアに流れ込むすべてのもの(依存関係、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。

関連ガイド