Kai Ole Hartwig
4 Min. Lesezeit
Mittel

npm v12: Install-Scripts sind ab sofort standardmäßig deaktiviert — was das für Ihre CI bedeutet

npm v12 markiert einen der grössten Sicherheits-Kurswechsel im Ökosystem seit Jahren: allowScripts steht ab dieser Version standardmässig auf aus. preinstall-, install- und postinstall-Skripte sowie implizite node-gyp-Builds laufen nicht mehr automatisch beim npm install — genau der Mechanismus, über den ein Grossteil der npm-Supply-Chain-Würmer der letzten Jahre ausgeliefert wurde. Laut GitHub-Changelog ist das Release für Juli 2026 angekündigt, Warnungen laufen bereits seit npm 11.16.0. Wer jetzt nicht vorbereitet, riskiert kaputte CI-Pipelines am Tag des Upgrades.

Was ändert sich?

Mit npm v12 wird der bisherige Standard umgedreht: Install-Skripte aus Abhängigkeiten laufen nicht mehr automatisch, sondern nur noch nach expliziter Freigabe. Das betrifft preinstall, install, postinstall sowie implizite node-gyp-Builds (native Module). Zusätzlich werden prepare-Skripte aus Git-, File- und Link-Abhängigkeiten blockiert. Zwei verwandte, bereits seit Februar 2026 angekündigte Änderungen ziehen mit: Direkte oder transitive Git-Abhängigkeiten lösen ohne --allow-git nicht mehr auf (seit npm 11.10.0 verfügbar), und Abhängigkeiten aus Remote-Quellen wie HTTPS-Tarballs benötigen --allow-remote (seit npm 11.15.0 verfügbar).

Warum das wichtig ist

Install-Skripte sind seit Jahren der bevorzugte Ausführungspfad für npm-Supply-Chain-Malware — von klassischen Credential-Stealern bis zu selbstpropagierenden Würmern wie den in diesem Blog dokumentierten Fällen (binding.gyp/node-gyp-Missbrauch, IronWorm, Miasma). Ein Standardwert, der Skripte grundsätzlich abschaltet, verschiebt die Angriffsfläche massiv: Angreifer müssen zusätzlich Nutzer dazu bringen, ihr Paket explizit zu genehmigen, statt sich auf automatisches Ausführen bei npm install zu verlassen. Wichtig für die Einordnung: Das schliesst nicht alle Angriffsvektoren — der jscrambler-Vorfall vom 11. Juli 2026 (siehe unser separater Beitrag) zeigt, dass ab bestimmten Versionen Payloads auch ganz ohne Install-Hook, direkt beim Modul-Import, ausgeführt werden können. Install-Scripts-off ist damit eine wichtige, aber keine alleinige Verteidigungslinie.

Was Sie jetzt tun sollten

Vor dem Upgrade

 

# auf npm 11.16.0+ aktualisieren, um Warnungen zu sehen
npm install -g npm@11
npm --version
# zeigt, welche Pakete Install-Skripte mitbringen
npm approve-scripts --allow-git-pending

 

Vertrauenswürdige Pakete freigeben

 

# interaktiv auswählen, welche Pakete Skripte ausführen dürfen
npm approve-scripts
# Ergebnis landet in package.json — unbedingt versionieren/committen

 

CI-Pipelines vorbereiten

 

# explizit testen, ob der Build auch ohne automatische Skripte durchläuft
npm ci --ignore-scripts
# für native Module ggf. gezielten Build-Schritt ergänzen, statt auf postinstall zu setzen

 

Git-/Remote-Abhängigkeiten prüfen

 

# prüfen, ob package.json Git- oder Remote-URL-Abhängigkeiten referenziert
grep -E "git\+https|git://|https://.*\.tgz" package.json
# ggf. Flags ergänzen, wenn diese Abhängigkeiten legitim gebraucht werden
npm install --allow-git --allow-remote

Häufige Fragen zu npm v12

Wie gehe ich mit legitimen nativen Modulen um, die einen Build-Schritt brauchen?+

Über npm approve-scripts gezielt freigeben und das Ergebnis in package.json committen — so bleibt die Freigabe reproduzierbar und im Code-Review sichtbar, statt implizit zu laufen.

Schützt das vollständig vor npm-Supply-Chain-Angriffen?+

Nein. Es schliesst den häufigsten Ausführungspfad, aber neuere Angriffe (siehe jscrambler-Vorfall, Juli 2026) zeigen bereits Payloads, die beim Modul-Import statt über Install-Skripte laufen. Zusätzliche Kontrollen wie Version-Pinning und Egress-Filtering bleiben nötig.

Bricht das meine bestehende CI?+

Möglich, wenn Ihre Pipeline auf automatisch laufende postinstall-Skripte oder implizite node-gyp-Builds angewiesen ist. Testen Sie vorab mit npm ci --ignore-scripts und richten Sie eine Allowlist über npm approve-scripts ein.

Wann genau erscheint npm v12?+

Laut GitHub-Changelog für Juli 2026 angekündigt; Warnungen auf betroffene Pakete sind bereits seit npm 11.16.0 sichtbar. Ein exaktes Tagesdatum war zum Zeitpunkt dieses Beitrags nicht offiziell fixiert — vor dem produktiven Upgrade den npm-Blog/Changelog prüfen.

Fazit

npm v12 ist eine der grössten strukturellen Verbesserungen der npm-Sicherheit seit Langem — aber kein Freifahrtschein zum Abschalten der eigenen Wachsamkeit. Wer jetzt Lockfiles und CI-Pipelines auf implizite Install-Skripte prüft und eine bewusste Allowlist aufbaut, übersteht das Upgrade ohne Bruch und reduziert gleichzeitig die Angriffsfläche für den nach wie vor grössten Einzelvektor von npm-Supply-Chain-Vorfällen.

Quellen

Ich bereite Ihre CI-Pipelines auf npm v12 vor — Skript-Allowlist, Build-Anpassung, Regressionstest inklusive.

Audit Ihrer package.json/Lockfiles auf implizite Install-Skripte und Git-/Remote-Abhängigkeiten, Aufbau einer versionierten approve-scripts-Allowlist, Anpassung von CI-Build-Schritten für native Module.

Plattform-Betrieb statt Beratung auf Papier: Ich teste und härte Ihre npm-/CI-Pipeline gegen das v12-Upgrade und gegen laufende Supply-Chain-Risiken.

Termin buchen

Über den Autor

[Translate to English:] Foto von Kai Ole Hartwig.

Kai Ole Hartwig

Freelance DevSecOps consultant · OnlyOle Consulting

Programming since 2002 – self-taught, set up my own business with KO-Web in 2012. Over 100 projects, with a focus on security, performance, automation and quality. Today freelance: DevSecOps consulting, training and software development.