Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 305

依存関係のピン留め

依存関係のピン留め とは何ですか?

依存関係のピン留めソフトウェア依存関係を厳密なバージョン、可能なら暗号学的ハッシュとともに固定し、ビルドが常に同一の成果物を取得することでサプライチェーン改ざんへの耐性を高める手法。


依存関係ピン留めでは、"^1.0.0" のような緩い範囲指定を、厳密なバージョンと、できれば暗号学的ダイジェストを含むロックファイル(package-lock.json、poetry.lock、Pipfile.lock、Gemfile.lock、go.sum、Cargo.lock など)に置き換えます。これにより、ビルドは再現可能になり、サイレントアップデート、依存関係混同、タイポスクワッティング、改ざんバージョンに対しても耐性を持ちます。最近では、GitHub Actions などの CI プラグインも可変タグではなくコミット SHA で固定するのが定石です。一方、SCA、Dependabot、Renovate などによる脆弱性監視と組み合わせなければ、アプリは古くなり CVE が蓄積します。ハッシュ付きピン留めは、SLSA、NIST SSDF、OWASP、Reproducible Builds などが共通して挙げる重要統制です。

  1. 01

    サードパーティの GitHub Actions を v3 のような可変タグではなくコミット SHA に固定する運用。

  2. 02

    CI で完全にハッシュ化された requirements.txt を pip --require-hashes と組み合わせて使う例。

よくある質問

依存関係のピン留め とは何ですか?

ソフトウェア依存関係を厳密なバージョン、可能なら暗号学的ハッシュとともに固定し、ビルドが常に同一の成果物を取得することでサプライチェーン改ざんへの耐性を高める手法。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。

依存関係のピン留め とはどういう意味ですか?

ソフトウェア依存関係を厳密なバージョン、可能なら暗号学的ハッシュとともに固定し、ビルドが常に同一の成果物を取得することでサプライチェーン改ざんへの耐性を高める手法。

依存関係のピン留め はどのように機能しますか?

依存関係ピン留めでは、"^1.0.0" のような緩い範囲指定を、厳密なバージョンと、できれば暗号学的ダイジェストを含むロックファイル(package-lock.json、poetry.lock、Pipfile.lock、Gemfile.lock、go.sum、Cargo.lock など)に置き換えます。これにより、ビルドは再現可能になり、サイレントアップデート、依存関係混同、タイポスクワッティング、改ざんバージョンに対しても耐性を持ちます。最近では、GitHub Actions などの CI プラグインも可変タグではなくコミット SHA で固定するのが定石です。一方、SCA、Dependabot、Renovate などによる脆弱性監視と組み合わせなければ、アプリは古くなり CVE が蓄積します。ハッシュ付きピン留めは、SLSA、NIST SSDF、OWASP、Reproducible Builds などが共通して挙げる重要統制です。

依存関係のピン留め からどのように防御しますか?

依存関係のピン留め に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

依存関係のピン留め の別名は何ですか?

一般的な別名: バージョン固定, ハッシュ固定。

関連用語