NPM 12 représente un changement majeur dans la gestion des scripts des dépendances. Ce mécanisme vise à bloquer l’exécution automatique pour limiter les failles. Ces mesures sont une réponse directe aux attaques récentes qui ont touché l’écosystème JavaScript.
🔥 Nous recommandons McAfee
McAfee est le meilleur logiciel de protection grâce à sa défense proactive, son pare-feu intelligent, son VPN intégré et sa détection instantanée des menaces. Sécurité totale, performance préservée, tranquillité assurée.
J'en profiteLa nouvelle version de npm introduit une gestion des scripts renforcée pour améliorer la sécurité des chaînes d’approvisionnement. Ces évolutions impactent directement la protection des projets et la gestion des dépendances. Pour mieux comprendre ces enjeux, consultez notre dossier complet sur la veille cyber qui s’adapte aux défis actuels.
NPM 12 change la façon dont les scripts s’exécutent
Avec la sortie de NPM 12 prévue en juillet 2026, GitHub met un terme à l’exécution automatique des scripts npm par défaut. Cette modification s’applique aux scripts de cycle de vie comme preinstall, install, ou postinstall. L’objectif est de réduire considérablement la surface d’attaque liée aux chaînes d’approvisionnement.
Cette nouvelle politique de gestion des scripts interdit l’exécution sans validation explicite. Les développeurs doivent dorénavant autoriser manuellement les scripts jugés sûrs, via une liste blanche stockée dans package.json. Ce contrôle évite les processus cachés qui pouvaient injecter du code malveillant à l’installation des packages.
Impact concret sur la sécurité des chaînes d’approvisionnement
Cette nouvelle gestion des scripts répond à plusieurs attaques majeures sophistiquées récemment identifiées. Par exemple, les vagues d’infections causées par le ver auto-réplicant Shai-Hulud exploitaient des fichiers binding.gyp pour déclencher des commandes malveillantes.
La sécurité accrue des packages npm veille dorénavant à bloquer ces vecteurs. Les dépendances Git, les tarballs HTTPS distants et les scripts non explicitement approuvés cessent de s’exécuter automatiquement. Ainsi, les vulnérabilités exploitées par TeamPCP et d’autres groupes se trouvent neutralisées.
Préparer la transition vers une gestion sécurisée des dépendances
Pour anticiper la mise en œuvre de NPM 12, les équipes peuvent utiliser la commande npm approve-scripts. Cette procédure génère une liste de scripts en attente que les développeurs doivent examiner pour valider leur usage. Une fois validée, cette liste est intégrée dans le fichier package.json.
L’approche proactive recommande d’adopter cette méthode dès la version 11.16. Cette étape diminue les problèmes liés aux chaînes d’approvisionnement dans les cycles de déploiement CI/CD. La protection des projets contre les exécutions non contrôlées devient ainsi une norme industrielle indispensable.
