Dans NPM 12.0, l'exécution des scripts lors de l'installation des packages est désactivée par défaut

La version 12.0 du gestionnaire de paquets NPM, inclus dans Node.js et utilisĂ©e pour la distribution de modules en JavaScript, a Ă©tĂ© publiĂ©e. Cette nouvelle version se distingue par l'arrĂȘt par dĂ©faut de l'exĂ©cution de scripts lors de l'installation de paquets. Ce changement vise Ă  compliquer la rĂ©alisation d'attaques par compromission de dĂ©pendances et Ă  ralentir la propagation des vers activĂ©s par des scripts d'installation.

Pour interdire l'exĂ©cution automatique des scripts spĂ©cifiĂ©s dans package.json via les paramĂštres preinstall, install ou postinstall, la configuration allowScripts est par dĂ©faut rĂ©glĂ©e sur « off ». L'exĂ©cution de tels scripts, ainsi que le dĂ©marrage de la compilation de code C/C++ avec l'outil node-gyp en l'absence d'un fichier binding.gyp dans le paquet, se fait dĂ©sormais uniquement sur instruction explicite de l'utilisateur. De plus, les options « —allow-git » et « —allow-remote » sont maintenant rĂ©glĂ©es par dĂ©faut sur « none », ce qui dĂ©sactive le tĂ©lĂ©chargement automatique de dĂ©pendances depuis des dĂ©pĂŽts Git et des liens directs vers des sites avec des archives tar.

Pour organiser l'exĂ©cution de scripts d'installation, il convient d'utiliser la commande « npm approve-scripts », Ă  laquelle on passe les noms de paquets dignes de confiance, ou l'option « —all » pour autoriser tous les paquets. Pour les paquets douteux, il est recommandĂ© d'exĂ©cuter la commande « npm approve-scripts —allow-scripts-pending », qui affichera une liste des scripts candidats Ă  l'exĂ©cution. AprĂšs vĂ©rification de ces scripts, ils peuvent ĂȘtre autorisĂ©s par la commande « npm approve-scripts » et ajoutĂ©s Ă  la liste blanche dans package.json.

De plus, il a Ă©tĂ© annoncĂ© l'interdiction d'utilisation dans le dĂ©pĂŽt NPM des jetons d'accĂšs GAT (Granular Access Tokens), configurĂ©s pour effectuer des actions sans authentification Ă  deux facteurs (2FA). À partir d'aoĂ»t, ces jetons ne permettront plus d'effectuer des opĂ©rations telles que la crĂ©ation ou la suppression de jetons, la modification de profil, de mot de passe ou d'e-mail, la configuration de l'authentification Ă  deux facteurs, la gĂ©nĂ©ration de codes de rĂ©cupĂ©ration, la modification des droits d'accĂšs et la gestion des accompagnants sans une confirmation manuelle supplĂ©mentaire des actions.

En janvier 2027, il est prĂ©vu d'interdire la publication directe de paquets utilisant des jetons contournant le 2FA. Les paquets pourront cependant ĂȘtre publiĂ©s dans la section staging, oĂč ils resteront jusqu'Ă  la confirmation manuelle de la version par un accompagnateur. AprĂšs confirmation manuelle, les paquets publiĂ©s seront disponibles pour installation par les utilisateurs.

Pour la publication automatique, il est proposé d'utiliser le mécanisme « Trusted Publishers », basé sur la norme OpenID Connect (OIDC) et des jetons d'authentification à durée limitée échangés entre les services externes et le catalogue de paquets pour confirmer l'opération de publication au lieu d'utiliser des mots de passe traditionnels ou des jetons d'accÚs API permanents.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster