Was ist passiert?
GitHub hat npm Version 12 offiziell veröffentlicht und deaktiviert Install-Scripts standardmäßig. Dies ist ein bedeutsamer Schritt zur Reduzierung von Supply-Chain-Angriffen. Zusätzlich werden granulare Zugriffstokens (GATs), die die Zwei-Faktor-Authentifizierung umgehen können, deprecated. Die allowScripts-Funktion ist nun standardmäßig deaktiviert, wodurch automatische Skriptausführungen während der Installation unterbunden werden.
Hintergrund & Bedeutung
Supply-Chain-Attacken über kontaminierte npm-Pakete gehören zu den kritischsten Bedrohungen im JavaScript-Ökosystem. Bösartige Pakete können über automatisch ausgeführte Install-Scripts Systeme kompromittieren und Malware verbreiten. Die Deaktivierung von Scripts by Default erhöht die Sicherheit erheblich, da Entwickler nun bewusst Scripts aktivieren müssen. Die Deprecated-Erklärung von GATs schließt zudem eine kritische Sicherheitslücke in der 2FA-Authentifizierung, wodurch Token-basierte Umgehungen erschwert werden.
Empfehlungen für IT-Teams
Unternehmen sollten ihre npm-Abhängigkeiten auf Version 12 aktualisieren und dabei regelmäßig auditieren, welche Pakete Scripts benötigen. Implementieren Sie strikte Policies: Nur vertrauenswürdige Pakete sollten Install-Scripts aktivieren dürfen. Führen Sie regelmäßige Sicherheitsscans mit Tools wie npm audit durch und nutzen Sie Software Composition Analysis (SCA)-Lösungen. Schulen Sie Entwickler über Supply-Chain-Risiken und erzwingen Sie die Verwendung von starken Authentifizierungsmechanismen, insbesondere die Abkehr von GATs.
Fazit
Die Änderungen in npm 12 stellen einen wichtigen Meilenstein für die Sicherheit des JavaScript-Ökosystems dar. Durch den Secure-by-Default-Ansatz wird das Risiko von Supply-Chain-Angriffen signifikant gesenkt.
Quelle: Original Artikel