Skip to content
Latchkey

依存関係のピン留めとは?

依存関係のピン留めとは、柔軟なバージョン範囲ではなく、依存関係の正確なバージョン、あるいはコンテンツハッシュまでを指定するプラクティスです。ピン留めされた依存関係は、upstreamのメンテナが新しいリリースを公開しても、知らないうちに変わることはありません。これによりビルドが再現可能になり、サイレントで潜在的に悪意のある更新をブロックします。

なぜ重要か

浮動的なバージョン範囲は、ビルドが突然新しい、テストされていない、あるいは侵害されたリリースを取り込む可能性があることを意味します。ピン留め、特にGitHub Actionsをハッシュや特定のコミットに固定することで、CIがレビューした正確なコードを実行することが保証され、これはサプライチェーンの重要な防御です。

関連する概念

  • lockfileは推移的依存を自動的にピン留めする
  • ActionsをコミットのSHAに固定するとworkflowが堅牢になる
  • 自動更新を予測可能性と引き換えにする

関連ガイド