Introduction
La prochaine version majeure de NPM, la v12, introduit des changements par défaut liés à la sécurité pour la commande npm install. Ces changements sont déjà disponibles dans la version actuelle de NPM, à partir de la version 11.16.0, afin de permettre aux utilisateurs de se préparer avant la mise à jour.
Contexte Technique
Les changements principaux concernent les comportements suivants de npm install : allowScripts qui passe par défaut à off, empêchant ainsi l'exécution des scripts preinstall, install et postinstall des dépendances, à moins qu'ils ne soient explicitement autorisés dans le projet. De plus, les options --allow-git et --allow-remote passent par défaut à none, empêchant ainsi la résolution des dépendances Git et des dépendances à partir d'URL distantes, sauf si elles sont explicitement autorisées.
Analyse et Implications
Ces changements visent à améliorer la sécurité des installations NPM en réduisant les risques d'exécution de code malveillant. Les utilisateurs doivent examiner les avertissements dans les versions actuelles de NPM et utiliser les commandes npm approve-scripts et npm deny-scripts pour gérer les scripts autorisés dans leur projet. Il est important de noter que ces changements pourraient avoir des implications sur les workflows de développement et de déploiement existants.
Perspective
Il est recommandé aux utilisateurs de mettre à jour leur version de NPM à la version 11.16.0 ou ultérieure, d'exécuter leur installation normale et d'examiner les avertissements. Ensuite, ils doivent utiliser npm approve-scripts --allow-scripts-pending pour voir quels packages ont des scripts, approuver ceux qu'ils font confiance et commiter la mise à jour de package.json. Une fois la mise à jour effectuée, seuls les scripts approuvés continueront à s'exécuter. Les utilisateurs doivent se référer à la documentation de NPM pour plus de détails sur ces changements et sur la manière de les gérer.