Zum Hauptinhalt springen
S-EDV news
← Alle News
Sicherheit & Datenschutz 14.06.2026 · 3 min Lesezeit

GitHub npm v12: Install-Skripte und Git-Abhaengigkeiten werden im Juli 2026 standardmaessig blockiert

Im GitHub Changelog vom 9. Juni 2026 kuendigt GitHub fuer npm v12 drei neue Sicherheits-Defaults an: Install-Skripte, Git-Abhaengigkeiten und Remote-URL-Pakete werden per Default blockiert. Admins sollten ihre CI-Pipelines jetzt vorbereiten.

GitHub npm v12 blockiert ab Juli 2026 standardmäßig Install Skripte und Git Abhängigkeiten zum Schutz vor Supply Chain Angriffen in JavaScript Projekten

GitHub hat am 9. Juni 2026 im offiziellen Changelog angekuendigt, dass die naechste npm-Hauptversion v12 (geplant fuer Juli 2026) drei langjaehrige permissive Defaults umstellt. Statt wie bisher alles automatisch ausfuehren gilt kuenftig nur ausfuehren, was explizit erlaubt ist. Wer CI-Pipelines, Build-Skripte oder interne npm-Pakete pflegt, sollte jetzt pruefen, wo heute noch automatisch Skripte, Git-Repos oder HTTPS-Tarballs nachgeladen werden.

Das Wichtigste in Kuerse

  1. Release: npm v12, voraussichtlich Juli 2026
  2. Drei neue Defaults: allowScripts = off, --allow-git = none, --allow-remote = none
  3. Vorbereitung: ab npm 11.16.0 sind die Defaults als Warnungen sichtbar
  4. Werkzeuge: npm approve-scripts, npm deny-scripts, neue allow-scripts-Konfiguration
  5. Operative Folge: bisher implizit laufende Install-Skripte stoppen ohne explizite Freigabe

Was ist neu?

npm v12 fuehrt drei Sicherheits-Defaults ein, die jeweils einen bisher automatischen Pfad in einen explizit zu aktivierenden Pfad umwandeln:

  1. allowScripts = off: npm install fuehrt preinstall-, install- und postinstall-Skripte aus Dependencies nicht mehr automatisch aus. Das schliesst auch implizite node-gyp rebuild-Aufrufe fuer Pakete mit binding.gyp ohne eigenes Install-Skript ein. prepare-Skripte aus Git-, File- und Link-Dependencies werden ebenfalls blockiert.
  2. --allow-git = none: Git-Abhaengigkeiten (direkt oder transitiv) werden nur noch aufgeloest, wenn sie explizit via --allow-git erlaubt sind. Damit wird der Pfad geschlossen, ueber den ein Git-Dependency-Setup per .npmrc den Git-Befehl selbst ersetzen konnte.
  3. --allow-remote = none: Remote-URL-Pakete wie HTTPS-Tarballs werden nicht mehr automatisch aufgeloest. Erlaubnis erfolgt explizit ueber --allow-remote. --allow-file und --allow-directory behalten ihre bisherigen Defaults.

Welche Aenderungen sind in npm 11.16.0 bereits sichtbar?

Seit npm 11.16.0 protokolliert npm alle drei Verhalten als Warnungen. npm approve-scripts --allow-scripts-pending listet Pakete mit ausstehenden Skripten. Mit npm approve-scripts und npm deny-scripts koennen Maintainer pro Projekt entscheiden, welche Pakete Skripte ausfuehren duerfen. Die daraus resultierende Allowliste landet in der package.json und sollte eingecheckt werden.

Gibt es Sicherheitskorrekturen?

Es handelt sich nicht um klassische Bugfixes, sondern um eine Aenderung von Defaults als Reaktion auf reale Angriffskampagnen. Genannt werden unter anderem Supply-Chain-Vorfaelle rund um Lifecycle-Skripte, der TrapDoor-Postinstall-Stealer, der node-ipc-DNS-Exfiltration-Backdoor und Phantom-Gyp-Angriffe, die binding.gyp waehrend npm install ausnutzen.

Wen betrifft das Update?

  1. Web- und Node.js-Teams: jeder Build, der heute auf Lifecycle-Skripte oder Git-URLs in package.json baut, muss die Allowliste pflegen.
  2. DevOps- und Plattform-Teams: CI-Pipelines muessen angepasst werden, sonst brechen sie beim ersten v12-Run.
  3. Security-Teams: das Verhalten bietet eine Chance, Supply-Chain-Risiken ueber SBOM- und Vulnerability-Scans hinaus explizit pro Paket zu auditieren.

Sollte man sofort aktualisieren?

Ja, aber mit Vorlauf. Zwei Wege sind sinnvoll:

  1. Auf einer Test- oder Staging-Umgebung npm auf 11.16.0 anheben, die Warnungen sammeln, mit npm approve-scripts und npm deny-scripts eine bereinigte package.json erzeugen und ins Repo committen.
  2. Intern eine Richtlinie festlegen, welche Pakete ueberhaupt Lifecycle-Skripte ausfuehren duerfen, und in CI einen Schritt ergaenzen, der unerwartete Skripte failen laesst.

Was ist vor dem Update zu beachten?

  1. Pruefen, ob eigene Pakete preinstall / install / postinstall nutzen und diese in der Allowliste landen muessen.
  2. Pruefen, ob transitive Dependencies auf Git-URLs oder HTTPS-Tarballs verweisen, und entscheiden, ob sie bleiben duerfen.
  3. Bei node-gyp-basierten nativen Modulen explizit pruefen, ob sie heute schon einen Lifecycle-Hook haben oder nur ueber den impliziten node-gyp rebuild laufen.
  4. CI-Logs archivieren, um spaeter vergleichen zu koennen, welche Skripte vor und nach dem Update laufen.

Empfehlung fuer Administratoren

npm v12 ist kein Sicherheitspatch im klassischen Sinn, sondern eine bewusste Aenderung der Vertrauensannahmen im Oekosystem. Wer npm in CI und auf Developer-Laptops einsetzt, sollte die Aenderung als Anlass nehmen, die eigene Container- und Pipeline-Hygiene zu pruefen, Allowlisten zentral zu verwalten und Lifecycle-Skripte zum Ausnahmefall statt zum Default zu machen.

Fazit

npm v12 verschiebt die Sicherheitslinie im JavaScript-Oekosystem konsequent nach vorn. Wer den Umstieg jetzt in einer Testumgebung mit npm 11.16.0 vorbereitet, vermeidet im Juli 2026 ueberraschende CI-Ausfaelle und hat die Allowliste schon im Griff, bevor sie produktiv scharf geschaltet wird.

Quellen

  1. GitHub Blog: Upcoming breaking changes for npm v12 (9. Juni 2026)
  2. Corgea: GitHub npm v12 Security Changes: Breaking Defaults Explained
  3. Rescana: GitHub Disables npm Install Scripts by Default in v12