NPM 12.0 désactive par défaut l'exécution de scripts lors de l'installation de paquets.

NPM 12.0, gestionnaire de paquets inclus dans Node.js et utilisé pour distribuer les modules JavaScript, est disponible. Cette nouvelle version se distingue par la suppression par défaut des scripts lors de l'installation des paquets. Ce changement devrait compliquer les attaques par dépendances et ralentir la propagation des vers activés par ces scripts.

Pour empêcher l'exécution automatique des scripts spécifiés dans package.json via les paramètres preinstall, install ou postinstall, le paramètre allowScripts est désormais désactivé par défaut. L'exécution de ces scripts, ainsi que le lancement de la compilation du code C/C++ par node-gyp si le paquet contient un fichier binding.gyp, ne sont effectués que sur instruction explicite de l'utilisateur. De plus, les paramètres --allow-git et --allow-remote sont désormais désactivés par défaut, empêchant ainsi le téléchargement automatique des dépendances depuis les dépôts Git et les liens directs vers les sites contenant des archives tar.gz.

Pour autoriser les scripts d'installation, utilisez la commande « npm approve-scripts » en spécifiant les noms des paquets de confiance comme arguments, ou l'option « --all » pour autoriser tous les paquets. Pour les paquets douteux, il est recommandé d'exécuter « npm approve-scripts --allow-scripts-pending », qui affichera la liste des scripts en attente. Après vérification, vous pouvez autoriser ces scripts avec « npm approve-scripts » et les ajouter à la liste blanche dans le fichier package.json.

De plus, l'utilisation des jetons d'accès granulaires (GAT) configurés pour des actions sans authentification à deux facteurs (2FA) est désormais interdite dans le dépôt NPM. À compter du mois 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 profils, de mots de passe ou d'adresses électroniques, la configuration de l'authentification à deux facteurs, la génération de codes de récupération, la modification des droits d'accès ou la gestion des responsables sans confirmation manuelle supplémentaire.

En janvier 2027, la publication directe de paquets via des jetons contournant l'authentification à deux facteurs sera interdite. Toutefois, les paquets pourront être publiés dans l'environnement de test, où ils resteront jusqu'à leur validation manuelle par le responsable de la maintenance. Après validation, les utilisateurs pourront les installer.

Pour la publication automatisée, nous proposons d'utiliser le mécanisme « Trusted Publishers », qui est 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 du paquet, au lieu d'utiliser des mots de passe traditionnels ou des jetons d'accès API persistants.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster