Dependency Confusion Defense - CI/CD用語集の定義
dependency confusionは、buildをだまして非公開の内部パッケージを覆い隠す公開パッケージをインストールさせます。防御策はパッケージ名にスコープを付け、信頼するregistryを制限し、lockfileを強制します。
dependency confusionは、攻撃者が非公開の内部パッケージと同名の公開パッケージを公開し、buildをだまして悪意ある公開バージョンを取得させるsupply-chain攻撃です。防御策には、スコープ付きのnamespace、pinされたregistry、lockfileの強制が含まれます。
この攻撃は、公開のものも含め設定されたすべてのregistryにまたがって最高バージョンを優先するresolverを悪用します。
防御策
内部パッケージには自社が管理するnamespaceやスコープを使い、package managerがそれらの名前を自社の非公開registryからのみ解決するよう設定し、commit済みのlockfileからインストールして予期しないバージョンを拒否します。
関連ガイド
Lockfile Drift Detection - CI/CD Glossary DefinitionLockfile Drift Detection: Lockfile drift is when a project’s lockfile no longer matches its manifest, so inst…
SBOM Diff - CI/CD Glossary DefinitionSBOM Diff: An SBOM diff compares two software bills of materials to show which components were added, removed…
Lockfile - CI/CD Glossary DefinitionLockfile: A **lockfile** (package-lock.json, Cargo.lock, etc.) pins exact dependency versions so builds are r…