npm hat dem Trusted Publishing eine optionale Berechtigung hinzugefügt: Ein Dist-Tag wie latest oder next lässt sich künftig über kurzlebige OIDC-Credentials verschieben, statt über einen klassischen Zugriffstoken. Die am 30. September 2026 im GitHub-Blog veröffentlichte Ankündigung schließt eine verbliebene Lücke für Projekte, die ihr Publishing bereits tokenfrei gestaltet hatten.
Die Lücke, die im Trusted Publishing blieb
Trusted Publishing erlaubt es seit Monaten, ein npm-Paket aus einer CI heraus, etwa GitHub Actions, zu veröffentlichen – gestützt auf spontan ausgestellte OIDC-Credentials statt auf einen als Secret gespeicherten Token. Doch das Befördern einer bereits veröffentlichten Version zu einem Dist-Tag, ein gängiger Vorgang etwa beim Wechsel von beta zu latest, blieb außerhalb der Reichweite dieses Mechanismus. Maintainer, die ihre langlebigen Publishing-Token bereits abgeschafft hatten, mussten weiterhin einen einzigen Token allein für diese Aufgabe vorhalten.
Was die neue Berechtigung erlaubt
Jede npm-Trusted-Publishing-Konfiguration enthält nun eine Option „Allow npm dist-tag“, die standardmäßig deaktiviert ist. Einmal für ein bestimmtes Paket aktiviert, können die bei einem Deployment ausgestellten OIDC-Credentials eine Version veröffentlichen, ihre Dist-Tags verwalten, oder beides unabhängig voneinander: Eine auf Staging beschränkte Konfiguration könnte beispielsweise ausschließlich Rechte zur Dist-Tag-Verwaltung erhalten.
Aktivierung
Die Aktivierung erfolgt in der Trusted-Publisher-Konfiguration auf npmjs.com und wirkt sich anschließend auf den CI-Workflow aus, der keinen zusätzlichen Token benötigt:
permissions:
id-token: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org
- run: npm publish --provenance
- run: npm dist-tag add [email protected] latest
| Vorgang | Vorher | Nachher |
|---|---|---|
| Veröffentlichung einer Version | OIDC (Trusted Publishing) | OIDC (Trusted Publishing) |
| Beförderung eines Dist-Tags | Klassischer Zugriffstoken | OIDC, nach expliziter Freigabe |
| Zu speichernder langlebiger Token | Ja, für Dist-Tags | Keiner |
Reichweite und Grenzen
Die Berechtigung bleibt unabhängig vom direkten Publishing-Recht: Eine auf Staging beschränkte Konfiguration könnte ausschließlich die Dist-Tag-Verwaltung erhalten, ohne jemals eine neue Version veröffentlichen zu dürfen. Tokenbasierte Workflows funktionieren zudem unverändert weiter für Teams, die noch nicht umgestiegen sind. Eine vernünftige Kompatibilitätsentscheidung – die das Schließen dieser Lücke aber vollständig den Maintainern überlässt: Nichts drängt sie dazu, die Option zu aktivieren.
Jede npm-Trusted-Publishing-Konfiguration enthält nun eine standardmäßig deaktivierte „Allow npm dist-tag“-Berechtigung, die Versionsbeförderungen abdeckt, die bisher klassischen Token vorbehalten waren.
Was sich für Maintainer ändert
Für Maintainer weit verbreiteter Pakete verkleinert sich die Angriffsfläche ein weiteres Stück: Ein gestohlener oder schlecht widerrufener Publishing-Token ist ein klassisches Szenario für Supply-Chain-Kompromittierungen, das im JavaScript-Ökosystem in den vergangenen Jahren mehrfach dokumentiert wurde. Teams, die die Entwicklung der JavaScript-Paketmanager verfolgen, werden hier ein Prinzip wiedererkennen, das auf der Seite des Webhostings längst gilt: Die Zahl gespeicherter Geheimnisse zu reduzieren, bleibt einer der einfachsten Hebel zur Absicherung.
Was man sich merken sollte
npm erweitert sein Trusted Publishing um die Dist-Tag-Verwaltung via OIDC – eine manuell zu aktivierende Option, die den letzten langlebigen Token aus einem ansonsten tokenfreien Publishing-Workflow entfernt.
Das ist die Art von Verbesserung, die es in keinen allgemeinen Nachrichtenfeed auf die Titelseite schafft, die aber auf Dauer mehr zählt als so manche spektakulärere Ankündigung. Ein Publishing-Token, der in den Secrets eines Repositorys herumliegt, ist ein Klassiker bei Sicherheitsaudits – und dass man ihn weiterhin manuell aktivieren muss, statt dass er zum Standardverhalten wird, zeigt, dass Supply-Chain-Sicherheit sich im Tempo der Adoption bewegt, nicht im Tempo der verfügbaren Technik. — Simon Janvier
Zum Weiterlesen: die offizielle Ankündigung im GitHub-Blog, „Opt-in dist-tag permissions for npm trusted publishing“.
