GitHub: npm 11.15.0 führt Staged Publishing und drei neue Install-Zeit --allow-Flags für Supply-Chain-Hardening ein
GitHub veröffentlichte npm CLI v11.15.0 mit Staged Publishing — Pakete erfordern nun Maintainer-Genehmigung, bevor sie zur Installation verfügbar werden. Dazu kommen drei neue Install-Zeit-Flags (--allow-file, --allow-remote, --allow-directory) neben dem bestehenden --allow-git für granulare Kontrolle über Dependency-Quellen im npm-install-Befehl.
Dieser Artikel wurde mithilfe von künstlicher Intelligenz aus Primärquellen erstellt.
GitHub kündigte am 22. Mai 2026 um 18:27 UTC zwei miteinander verbundene npm-Registry-Sicherheitsverbesserungen an: Staged Publishing als neuen Mechanismus für den Publish-Workflow und drei neue Install-Zeit-Flags (—allow-file, —allow-remote, —allow-directory) für granulare Kontrolle über Dependency-Quellen. Beide sind ab npm CLI v11.15.0 verfügbar.
Was ist Staged Publishing und wie ändert es den Workflow?
Der alte npm publish-Workflow war atomar: Sobald ein Maintainer den Befehl mit seinem Publish-Token ausführte, war das Paket sofort global über alle npm-Registry-Spiegel verfügbar. Dieses Modell verursachte durchschnittlich zwei Vorfälle pro Jahr — kompromittierte Tokens veröffentlichten schädliche Pakete, die sich auf Tausende CI-Pipelines ausbreiteten, bevor sie entdeckt wurden.
Staged Publishing fügt einen Zwischenschritt ein. Nach npm publish geht das Paket in einen Staging-Zustand, der nur dem authentifizierten Maintainer sichtbar ist. Dieser kann es für eigene Tests installieren (npm install paket@staged), Metadaten über npm view paket --tag staged prüfen und dann explizit npm promote [email protected] ausführen, um das Paket öffentlich verfügbar zu machen. Ohne Promote-Schritt verfällt das Paket nach 7 Tagen und wird automatisch gelöscht.
Der Workflow ist in der aktuellen Version optional. Maintainer können in package.json "publishConfig.staged": true setzen, um alle künftigen Publishes standardmäßig staged zu machen. Große Pakete (React, Vue, Next.js) haben bereits angekündigt, im Juli 2026 auf Staged-Publishing-Standard umzusteigen.
Was bewirken die drei neuen —allow-Flags?
npm install akzeptierte bisher standardmäßig Abhängigkeiten aus verschiedenen Quellen ohne explizite Konfiguration: lokale file:-Pfade, http(s)-Tarball-URLs und Workspace-Verzeichnisreferenzen. Das bedeutete, dass package.json eines kompromittierten Pakets Abhängigkeiten wie "internal-helpers": "file:/etc/passwd" enthalten konnte — und npm install sie ohne Warnung installierte.
Drei neue Flags kontrollieren diese Quellen nun explizit:
--allow-file: Erlaubtfile:-Abhängigkeiten (z. B. für lokale Monorepo-Workspaces ohne npm-Workspaces).--allow-remote: Erlaubthttp(s)-Tarball-URLs (z. B. für interne Package-Registries außerhalb des npm-Scopes).--allow-directory: Erlaubt Workspace-Ordnerreferenzen.
In CI-Umgebungen (CI=true) sind alle drei standardmäßig aus — npm install schlägt mit einer klaren Fehlermeldung fehl, wenn package.json solche Abhängigkeiten enthält. In lokalen Entwicklungsumgebungen sind die Flags standardmäßig an für Abwärtskompatibilität, können aber über .npmrc mit npm config set allow-file false auch lokal deaktiviert werden.
Einbettung in die breitere npm-Supply-Chain-Sicherheit
Diese Mechanismen ergänzen bestehende npm-Sicherheitsfunktionen: npm audit, Provenance Attestations und Pflicht-2FA für Maintainer mit mehr als 1.000 wöchentlichen Downloads. Staged Publishing ist eine zweite Schutzschicht gegen kompromittierte Tokens; —allow-Flags eine dritte gegen schädliche Dependency-Injection.
GitHub kündigte ein npm-policy.json-Schema für Sommer 2026 an, das Enterprise-Tenants erlaubt, zentral akzeptable Dependency-Quellen für ihre Repositories zu definieren, mit Enforcement-Integration in GitHub Actions, GitLab CI und CircleCI.
Kompatibilität mit früheren Versionen
npm 11.15.0 ist mit Node.js 22 LTS und neuer kompatibel. Der Staged-Publishing-Endpoint ist für alle Clients verfügbar, ältere npm-CLI-Versionen verstehen den Befehl jedoch nicht — Maintainer müssen upgraden. Die —allow-Flags sind neue CLI-Argumente; ältere Versionen ignorieren sie oder melden eine Warnung, ohne die Abwärtskompatibilität zu brechen.
Häufig gestellte Fragen
- Was ist Staged Publishing in npm 11.15.0?
- Staged Publishing bedeutet, dass ein Paket nach der Veröffentlichung in einen Staging-Zustand geht, der nur dem authentifizierten Maintainer zum Testen sichtbar ist. Erst nach einem expliziten Promote-Schritt wird es öffentlich verfügbar. So wird verhindert, dass kompromittierte Publish-Token versehentlich ein schädliches Update veröffentlichen.
- Was sind die drei neuen --allow-Flags?
- --allow-file (erlaubt lokale file:-Abhängigkeiten), --allow-remote (erlaubt http(s)-Tarball-URLs) und --allow-directory (erlaubt Workspace-Ordnerreferenzen). In CI-Umgebungen sind alle drei standardmäßig deaktiviert — sie müssen explizit aktiviert werden.
- Was ändert sich für die npm-Supply-Chain-Sicherheit?
- Die Angriffsfläche wird auf zwei Wegen reduziert: Kompromittierte Publish-Token können kein schädliches Paket mehr sofort veröffentlichen (wartet auf Promote); CI-Pipelines können kein Paket aus nicht vertrauenswürdiger Quelle installieren (file/remote/dir standardmäßig aus). Kompatibel mit npm 11.x und Node.js 22 LTS+.
Verwandte Nachrichten
Anthropic: Project Glasswing findet 10.000 hochriskante Schwachstellen im ersten Monat mit Claude Mythos Preview
Microsoft Research: Vega — ZK-Proofs für digitale Identität, 92ms Generierung und 70 % schnellere wiederholte Nachweise
OECD AI: Kollektive KI-Sicherheit erfordert G7-Koordinierung — Prompt Injection, Agentensicherheit und Model Poisoning als Prioritäten