Dependency Confusion — Supply Chain Attack (Confusion de dépendances)
devsecopsDéfinition
La confusion de dépendances (dependency confusion) est une technique d'attaque de la chaîne d'approvisionnement logicielle découverte publiquement par Alex Birsan en 2021, qui lui a permis d'exécuter du code sur des systèmes internes de Microsoft, Apple, PayPal et des dizaines d'autres grandes entreprises. L'attaque exploite la logique de résolution des packages de gestionnaires comme npm, pip ou RubyGems : si une organisation utilise des packages internes privés et qu'un attaquant publie un package public portant le même nom avec un numéro de version supérieur, le gestionnaire de packages peut automatiquement télécharger la version publique malveillante. La remédiation implique l'utilisation de registres privés avec scope namespacing (@company/package-name pour npm), le pinning strict des versions (hash cryptographique), l'utilisation d'un proxy de registre vérifiant les packages entrants, et la configuration explicite des sources autorisées. Des outils comme pip --trusted-host, npm --registry ou la configuration de Artifactory/Nexus avec des politiques d'inclusion aident à prévenir ces attaques.
Description
La confusion de dépendances exploite la résolution automatique des package managers (npm, pip, RubyGems) : si un package interne privé porte le même nom qu'un package public avec une version supérieure, le manager télécharge la version publique malveillante. Découverte en 2021 par Alex Birsan chez Microsoft, Apple et PayPal.
Mise en œuvre
Protections : scope namespacing npm (@company/package), pinning par hash cryptographique dans les lockfiles, configuration des gestionnaires pour pointer exclusivement sur le registre privé (npm config set registry https://registry.company.com), et proxy Artifactory/Nexus avec politique d'inclusion stricte.
Points clés
- Vérifier les noms de packages internes non publiés sur npm/PyPI (squat préventif)
- pip :
--index-urlexclusif vers registre privé, désactiver PyPI public - Socket.dev : détection en temps réel des packages npm suspects (nouveaux, haute entropie)
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis