Mit npm 12 dreht GitHub eine seit langem etablierte Voreinstellung um: Bestimmte Installationsvorgänge, die bislang automatisch Skripte ausführten, sind nun nur noch nach ausdrücklicher Freigabe möglich. Ziel der Änderung ist laut GitHub, Risiken in der Lieferkette von Softwarepaketen zu reduzieren.
Der neue Ablauf verlangt, dass Anwender vertrauenswürdige Skripte aktiv genehmigen. Dazu nennt GitHub den Befehl „npm approve-scripts –allow-scripts-pending“. Die genehmigten Einträge werden anschließend als Allowlist in der Datei „package.json“ festgehalten.
Die Umstellung kommt nicht überraschend. GitHub hatte die Änderungen bereits im vergangenen Monat vorgestellt und Entwicklern geraten, npm 11.16.0 oder neuer zu installieren, den üblichen Installationsprozess durchzuführen und die dabei eingeblendeten Warnhinweise zu überprüfen.
Darüber hinaus bringt die aktuelle npm-Version noch zwei weitere Änderungen mit. Die erste davon soll Anfang August 2026 wirksam werden. Bis dahin empfiehlt GitHub, keine Token mehr zu verwenden, die die Zwei-Faktor-Authentifizierung für die betroffenen Abläufe umgehen, sondern diese Vorgänge interaktiv mit 2FA auszuführen. Die zweite Änderung ist für Januar 2027 geplant.
GitHub rät zur Vorbereitung, automatisiertes Veröffentlichen auf Trusted Publishing mit OIDC oder auf ein gestuftes Veröffentlichungsverfahren mit menschlichem Freigabeschritt umzustellen, statt auf langlebige Publish-Token zu setzen.
Parallel dazu hat auch pnpm Änderungen an der Authentifizierung vorgestellt. In pnpm 11.10 gibt es eine neue Einstellung namens „_auth“, mit der sich die Authentifizierung an Registries als einzelner strukturierter, URL-basiert zugeordneter Wert konfigurieren lässt.
Socket hebt den Sicherheitsgewinn dieser Änderung hervor: Zugangsdaten und der zugehörige Host würden gemeinsam geführt, und pnpm lese „_auth“ nur aus der Umgebung oder aus der globalen Konfiguration, niemals aus Projektdateien. Nach Darstellung von Socket kann damit eine bösartige oder kompromittierte „pnpm-workspace.yaml“ oder „.npmrc“ innerhalb eines Repositorys keinen gültigen Token mehr auf einen anderen Host umlenken.
Gerade manipulierte Projektdateien seien laut Socket ein üblicher Weg, über den Angreifer Fuß fassen. Ein umgeleiteter Registry-Token sei zudem ein direkter Weg zu dessen Diebstahl. Diese Angriffsmöglichkeit zu schließen, verringere daher die Angriffsfläche.
