Supply chain : npm, composer, pip, quand vos dépendances sont l'attaque
Votre code n'est qu'une fraction de votre application
Une application moderne contient 80 à 95% de code tiers via ses dépendances. Un projet Node.js typique installe des centaines de paquets transitifs. Chacun est un vecteur d'attaque potentiel. Les attaques supply chain ciblent ce maillon faible : plutôt que d'attaquer votre code, l'attaquant compromet une dépendance que vous installez volontairement.
Typosquatting
L'attaquant publie un paquet dont le nom ressemble à un paquet populaire : lodassh au lieu de lodash, reqeusts au lieu de requests. Une faute de frappe dans package.json ou requirements.txt installe le paquet malveillant.
Cas réels : en 2022, des paquets npm comme ua-parser-jss et colors-2 ont piégé des milliers de développeurs. En Python, python3-dateutil (avec un tiret supplémentaire) contenait du code malveillant.
Protection : vérifiez toujours le nom exact du paquet. Utilisez npm audit, pip-audit ou composer audit pour détecter les paquets suspects.
Dependency confusion
Votre organisation utilise un registre privé pour des paquets internes. L'attaquant publie un paquet avec le même nom sur le registre public (npmjs.com, PyPI) avec une version supérieure. Le gestionnaire de paquets résout vers la version publique plus récente.
Cas réel : en 2021, le chercheur Alex Birsan a démontré cette attaque contre Apple, Microsoft et d'autres en publiant des paquets sur npm avec les noms de leurs paquets internes.
Protection : configurez le scoping des paquets (@company/package sur npm), utilisez des namespaces sur PyPI, et configurez votre gestionnaire pour interdire la résolution vers le registre public pour les paquets internes.
Compromission de mainteneur
Un mainteneur légitime d'un paquet populaire est compromis (phishing, credential stuffing) ou vend son accès. Le paquet est mis à jour avec du code malveillant qui s'exécute à l'installation (postinstall sur npm) ou à l'import.
Cas réels :
event-stream (2018) : un nouveau mainteneur a ajouté une dépendance malveillante qui ciblait les portefeuilles Bitcoinxz-utils (2024) : un contributeur patient a gagné la confiance du mainteneur pendant deux ans avant d'introduire une backdoor dans la bibliothèque de compression utilisée par SSHua-parser-js (2021) : le compte npm du mainteneur a été compromis, le paquet (7M de téléchargements/semaine) a été mis à jour avec un cryptominerScripts d'installation
Les scripts preinstall et postinstall de npm s'exécutent avec les mêmes droits que l'utilisateur qui fait npm install. Un paquet malveillant peut exfiltrer des variables d'environnement (tokens CI/CD, clés API), modifier d'autres fichiers du projet, ou installer des backdoors.
Protection : utilisez --ignore-scripts pour les installations non fiables. Configurez .npmrc avec ignore-scripts=true et n'activez les scripts que pour les paquets qui en ont vraiment besoin.
Lockfiles et intégrité
Le package-lock.json, composer.lock ou poetry.lock garantit la reproductibilité des installations. Mais si le lockfile est modifié (par un PR malveillant ou par un compromis du registre), l'intégrité est perdue.
Protection :
npm ci (pas npm install) en CI/CD pour respecter strictement le lockfileintegrity dans package-lock.json)Stratégie de défense en profondeur
npm audit, pip-audit, composer audit dans votre CI/CDChez CleanIssue, nous analysons l'arbre de dépendances de vos applications lors de nos audits. Parlez-nous de votre revue externe pour évaluer votre exposition aux attaques supply chain.
Articles liés
Trois analyses proches pour continuer la lecture sur la meme surface de risque.
Nexus Repository et CVE-2026-0600 : pourquoi la configuration proxy devient une surface d attaque
CVE-2026-0600 touche Nexus Repository 3 via une SSRF dans la configuration des repositories proxy. Voici pourquoi ce sujet est critique pour les équipes supply chain.
XSS expliqué : reflected, stored, DOM-based, comment se protéger
Les trois types de Cross-Site Scripting décortiqués avec des exemples concrets, les vecteurs d'attaque courants et les défenses à implémenter.
SolarWinds 2020 : l'attaque supply chain qui a tout changé
Analyse complète de l'attaque SolarWinds Orion par le groupe russe Nobelium : méthode, impact sur 18 000 organisations et leçons pour la sécurité.
Sources
Analyse éditoriale fondée sur la documentation officielle des éditeurs, projets et autorités concernées.
Services associés
Si ce sujet reflète un risque concret sur votre stack, voici les audits CleanIssue les plus pertinents.