依存関係の混同 - CI/CD 用語集の定義
依存関係の混同 とは、非公開の内部パッケージと同じ名前で公開パッケージを公開し、リゾルバを騙して攻撃者のバージョンを取得させるサプライチェーン攻撃です。
攻撃の仕組み
build が公開 registry と内部 registry の両方を確認するよう構成されていて、公開側のコピーの方がバージョンが高い場合、多くのツールは黙ってそちらを優先します。Alex Birsan は 2021 年にこれを数十社の大企業に対して実証しました。
防御策
自分の registry に紐づけた scoped package を使い、.npmrc を設定してある scope を自分の非公開 registry のみにマップし、内部の名前を公開側でも予約して誰も横取りできないようにします。
関連ガイド
Scoped Package - CI/CD Glossary DefinitionScoped Package: A scoped package is an npm package namespaced under an `@scope/` prefix, like `@latchkey/cli`…
Package Registry - CI/CD Glossary DefinitionPackage Registry: A package registry is a repository that hosts published software packages for a language ec…
Vendoring - CI/CD Glossary DefinitionVendoring: Vendoring is committing your dependencies source code directly into your repository (often a `vend…