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

Attaque par confusion de dépendances

Qu'est-ce que Attaque par confusion de dépendances ?

Attaque par confusion de dépendancesAttaque de chaîne logicielle où un adversaire publie sur un registre public un paquet malveillant portant le même nom qu'une dépendance interne, trompant les outils de build qui récupèrent la version publique.


La confusion de dépendances exploite le comportement de résolution par défaut des gestionnaires (npm, pip, Maven, NuGet, RubyGems, etc.) qui combinent registres publics et privés. L'attaquant découvre le nom d'un paquet interne (manifests fuités, dépôts publics, DNS), publie sur le registre public un paquet de même nom avec une version supérieure et attend que les agents de build l'installent. Les recherches d'Alex Birsan en 2021 ont montré que de nombreuses grandes entreprises étaient vulnérables. Mitigations : portée explicite des registres (npm scoped, upstream feeds NuGet, pip --index-url), publier des placeholders internes sur les registres publics, bloquer la résolution sortante, signer les paquets avec Sigstore ou PGP et consommer via un dépôt d'artefacts curé qui contraint nom et source. SLSA, SBOM et la surveillance continue des nouveaux paquets publics aident à détecter les tentatives.

Exemples

  1. 01

    Paquet interne internal-utils remplacé par un internal-utils@99.0.0 malveillant sur npm.

  2. 02

    Pipeline de build récupérant une dépendance pip depuis PyPI au lieu de l'index privé.

Questions fréquentes

Qu'est-ce que Attaque par confusion de dépendances ?

Attaque de chaîne logicielle où un adversaire publie sur un registre public un paquet malveillant portant le même nom qu'une dépendance interne, trompant les outils de build qui récupèrent la version publique. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.

Que signifie Attaque par confusion de dépendances ?

Attaque de chaîne logicielle où un adversaire publie sur un registre public un paquet malveillant portant le même nom qu'une dépendance interne, trompant les outils de build qui récupèrent la version publique.

Comment fonctionne Attaque par confusion de dépendances ?

La confusion de dépendances exploite le comportement de résolution par défaut des gestionnaires (npm, pip, Maven, NuGet, RubyGems, etc.) qui combinent registres publics et privés. L'attaquant découvre le nom d'un paquet interne (manifests fuités, dépôts publics, DNS), publie sur le registre public un paquet de même nom avec une version supérieure et attend que les agents de build l'installent. Les recherches d'Alex Birsan en 2021 ont montré que de nombreuses grandes entreprises étaient vulnérables. Mitigations : portée explicite des registres (npm scoped, upstream feeds NuGet, pip --index-url), publier des placeholders internes sur les registres publics, bloquer la résolution sortante, signer les paquets avec Sigstore ou PGP et consommer via un dépôt d'artefacts curé qui contraint nom et source. SLSA, SBOM et la surveillance continue des nouveaux paquets publics aident à détecter les tentatives.

Comment se défendre contre Attaque par confusion de dépendances ?

Les défenses contre Attaque par confusion de dépendances combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Attaque par confusion de dépendances ?

Noms alternatifs courants : Confusion de namespaces, Attaque par substitution.

Termes liés

Voir aussi