In NPM 12.0 ist die Ausführung von Skripten bei der Installation von Paketen standardmäßig deaktiviert

Die Version 12.0 des Paketmanagers NPM wurde veröffentlicht, der Teil von Node.js ist und zur Verteilung von Modulen in JavaScript verwendet wird. Die neue Version zeichnet sich dadurch aus, dass die standardmäßige Ausführung von Skripten während der Paketinstallation eingestellt wurde. Diese Änderung soll Angriffe über kompromittierte Abhängigkeiten erschweren und die Verbreitung von aus Installationsskripten aktivierten Würmern verlangsamen.

Um die automatische Ausführung von Skripten, die in package.json über die Parameter preinstall, install oder postinstall angegeben sind, zu verhindern, wurde die Einstellung allowScripts standardmäßig auf «off» gesetzt. Die Ausführung solcher Skripte sowie die Kompilierung von C/C++-Code mithilfe des Tools node-gyp, wenn im Paket eine Datei binding.gyp vorhanden ist, erfolgt jetzt nur noch auf ausdrückliche Anweisung des Benutzers. Darüber hinaus sind die Parameter «—allow-git» und «—allow-remote» standardmäßig auf «none» gesetzt, was das automatische Laden von Abhängigkeiten aus Git-Repositories und über direkte Links zu Tar-Archiv-Websites deaktiviert.

Um die Ausführung von Installationsskripten zu organisieren, verwenden Sie den Befehl „npm approve-scripts“, dem die Namen vertrauenswürdiger Pakete oder die Option „—all“ übergeben werden, um allen Paketen die Berechtigung zu erteilen. Für fragwürdige Pakete wird empfohlen, den Befehl „npm approve-scripts —allow-scripts-pending“ auszuführen, der eine Liste der zur Ausführung anstehenden Skripte anzeigt. Nach der Überprüfung dieser Skripte können sie mit dem Befehl „npm approve-scripts“ genehmigt und in die Whitelist der package.json aufgenommen werden.

Darüber hinaus wurde ein Verbot für die Nutzung von GAT-Zugriffstoken (Granular Access Tokens) im NPM-Repository angekündigt, die so konfiguriert sind, dass sie Aktionen ohne Zwei-Faktor-Authentifizierung (2FA) durchführen. Ab August wird es solchen Tokens ohne zusätzliche manuelle Bestätigung nicht möglich sein, Operationen wie das Erstellen oder Löschen von Tokens, das Ändern von Profilen, Passwörtern oder E-Mails, die Konfiguration der Zwei-Faktor-Authentifizierung, die Generierung von Wiederherstellungscodes, das Ändern von Berechtigungen und die Verwaltung von Begleitdiensten durchzuführen.

Im Januar 2027 wird die direkte Veröffentlichung von Paketen, die Tokens zur Umgehung der 2FA verwenden, verboten. Diese Pakete können jedoch im Staging-Bereich veröffentlicht werden, wo sie bis zur manuellen Freigabe durch den Begleitenden verbleiben. Nach der manuellen Bestätigung werden die veröffentlichten Pakete für die Benutzer zur Installation verfügbar sein.

Für die automatische Veröffentlichung wird der Mechanismus "Trusted Publishers" vorgeschlagen, der auf dem OpenID Connect (OIDC)-Standard und zeitlich begrenzten Authentifizierungstokens basiert, die zwischen externen Diensten und dem Paketkatalog ausgetauscht werden, um den Veröffentlichungsprozess des Pakets zu bestätigen, anstelle von traditionellen Passwörtern oder dauerhaften API-Zugriffstokens.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster