Mit „Staged Publishing" ändert GitHub den grundlegenden Ablauf einer npm-Veröffentlichung. Bislang machte ein direkter Veröffentlichungsbefehl eine Paketversion unmittelbar für alle Nutzer verfügbar. Künftig wird das vorgefertigte Tarball-Archiv zunächst in eine Staging-Warteschlange hochgeladen, wo ein Maintainer es ausdrücklich freigeben muss, bevor es installierbar wird – so beschreibt es GitHub selbst.
Entscheidend ist dabei die menschliche Bestätigung: Die Freigabe erfordert das Bestehen einer 2FA-Abfrage. Nach Angaben des Unternehmens sorgt dies für einen „Präsenznachweis" bei jeder Veröffentlichung. Das gilt ausdrücklich auch für Veröffentlichungen aus nicht-interaktiven CI/CD-Abläufen sowie für das vertrauenswürdige Veröffentlichen über OIDC-Authentifizierung.
Praktisch nutzen Entwickler den Befehl „npm stage publish" aus dem Stammverzeichnis des Pakets, um es in den Staging-Bereich einzureichen. Voraussetzung dafür ist ein Update auf die npm-CLI in Version 11.15.0 oder neuer. Für den bestmöglichen Schutz empfiehlt GitHub, „Staged Publishing" mit dem vertrauenswürdigen Veröffentlichen per OIDC zu kombinieren.
Ein zweites Update betrifft die Kontrolle über Installationsquellen. Ergänzend zum bestehenden Flag „–allow-git" führt GitHub drei neue Flags für Installationsquellen ein. Damit lasse sich, so das Unternehmen, „derselbe Ansatz einer ausdrücklichen Positivliste auf jede Installationsquelle außerhalb der Registry anwenden".
Die Neuerungen fallen in eine Zeit, in der Angriffe auf die Software-Lieferkette in Open-Source-Ökosystemen in den vergangenen Monaten massiv zugenommen haben. Eine als TeamPCP bekannte Cyberkriminellen-Gruppe vergiftet dabei populäre Pakete in bislang beispiellosem Ausmaß – über einen sich selbst fortsetzenden Kreislauf von Kompromittierungen.
