Dependency Confusionとは?
dependency confusionは、内部と公開の両方のregistryから取得しうるパッケージマネージャーを突くサプライチェーン攻撃です。攻撃者は企業のprivateパッケージの名前を使い、多くの場合より高いバージョンで公開パッケージを公開し、resolverが内部のものではなく攻撃者のコードを取得するようにします。buildの中でひそかに悪意あるコードを実行しうります。
なぜ重要か
buildが明確な優先順位ルールなしにprivateフィードと公開registryの両方に到達できる場合、攻撃者はコードを注入するために内部パッケージ名を推測するだけで済みます。防御には、privateパッケージへのスコープ付与やnamespacing、ソースのpinning、すべての依存関係取得を管理されたproxyやmirror経由に通すことが含まれます。
関連する概念
- あいまいな内部/公開の解決を突く
- namespacingとソースのpinningで緩和される
- typosquattingは関連する命名攻撃
関連ガイド
What Is Typosquatting?Typosquatting is publishing malicious packages under names that resemble popular ones, so a typo in a depende…
What Is a Pinned Digest?A pinned digest references a dependency or image by its exact content hash instead of a tag, guaranteeing you…
What Is a Software Supply Chain Attack?A supply chain attack compromises software by tampering with a dependency, build system, or distribution chan…