Github verschärft mit der kommenden npm-Version 12 die Sicherheitsstandards im Javascript-Ökosystem deutlich. Die neue Version soll voraussichtlich im Juli 2026 erscheinen und bringt mehrere Änderungen mit sich, die das bisherige Standardverhalten von "npm install" einschränken.
Zentral sei dabei die Ausführung von Installationsskripten. Diese würden künftig standardmässig deaktiviert, kündigt Github an. Das bedeutet: Beim Installieren von Paketen werden keine automatischen Skripte aus Abhängigkeiten mehr ausgeführt, sofern sie nicht ausdrücklich im Projekt erlaubt wurden. Dazu zählen auch Prozesse, die für den Bau nativer Module benötigt werden.
Github bezeichnet diese Skripte als besonders kritischen Angriffspunkt im npm-Ökosystem. Da "npm install" auch Skripte aus transitiven Abhängigkeiten ausführt, könne bereits ein kompromittiertes Paket in der Abhängigkeitskette ausreichen, um schädlichen Code auszuführen.
Mehr Einschränkungen bei Abhängigkeiten
Neben Installationsskripten werden auch weitere Bezugswege eingeschränkt. Git-Abhängigkeiten würden künftig standardmässig blockiert und müssen explizit erlaubt werden, schreibt Github. Gleiches gelte für Pakete, die direkt über Remote-URLs eingebunden werden.
Ziel dieser Änderungen sei es, potenzielle Angriffswege in der Lieferkette von Software zu reduzieren und mehr Kontrolle darüber zu geben, welche Inhalte bei einer Installation tatsächlich ausgeführt werden. Github empfiehlt, bereits jetzt auf npm Version 11.16.0 oder höher umzusteigen. Dort seien die Änderungen bereits sichtbar und würden beim Installieren als Warnung angezeigt werden.
Die Änderungen erfolgen in einer Zeit, in der Supply-Chain-Angriffe auf Entwicklerwerkzeuge und Paket-Ökosysteme zunehmen. Zuletzt meldete Github den
Diebstahl von Daten aus rund 3800 internen Repositories, der auf eine kompromittierte Entwicklungsumgebung und manipulierte npm-Abhängigkeiten zurückgeführt wurde.