GitHub stärkt npm mit gestaffeltem Publishing und granularen Installationskontrollen
**GitHub** hat das gestaffelte Publishing für **npm** eingeführt, das die Zustimmung von Maintainern über Zwei-Faktor-Authentifizierung erfordert, bevor Pakete öffentlich verfügbar sind. Dieses Update zielt darauf ab, die Sicherheit der Software-Lieferkette zu verbessern, indem die Anwesenheit bei jeder Veröffentlichung sichergestellt wird. Zusätzlich bieten neue Installationsquellen-Flags Entwicklern eine granularere Kontrolle über Paketinstallationen.

### Gestaffeltes Publishing jetzt allgemein verfügbar
**GitHub** hat das gestaffelte Publishing, eine neue Sicherheitsfunktion für **npm**, eingeführt, um die Sicherheit der Software-Lieferkette zu verbessern. Diese Funktion ermöglicht es Maintainern, eine Veröffentlichung explizit zu genehmigen, bevor die Pakete öffentlich zur Installation verfügbar gemacht werden.
Gestaffeltes Publishing ist jetzt allgemein auf **npm** verfügbar. Es schreibt vor, dass ein menschlicher Maintainer eine Zwei-Faktor-Authentifizierungs-(2FA)-Abfrage bestehen muss, um ein Paket zu genehmigen, bevor es auf npmjs[.]com hochgeladen wird.
"Anstatt einer direkten Veröffentlichung, die eine Paketversion sofort für Verbraucher verfügbar macht, wird das vorkompilierte Tarball in eine Warteschlange hochgeladen, wo ein Maintainer es explizit genehmigen muss, bevor es installiert werden kann", sagte **GitHub**.
Die **Microsoft**-Tochtergesellschaft erklärte, dass diese Änderung "proof of presence" für jede Veröffentlichung sicherstellt, einschließlich derjenigen, die aus nicht-interaktiven CI/CD-Workflows und vertrauenswürdigen Veröffentlichungen mit OpenID Connect (OIDC)-Authentifizierung stammen.
### Voraussetzungen für gestaffeltes Publishing
Bevor Sie gestaffeltes Publishing nutzen können, müssen Paket-Maintainer die folgenden Kriterien erfüllen:
* Über Veröffentlichungszugriff auf das Paket verfügen.
* Das Paket muss bereits im **npm**-Registry vorhanden sein; brandneue Pakete können nicht gestaffelt werden.
* 2FA muss für das Konto aktiviert sein.
Entwickler können den Befehl `npm stage publish` aus dem Stammverzeichnis des Pakets verwenden, um es in einen Staging-Bereich zu übermitteln. Um diesen Befehl zu verwenden, ist ein Update auf **npm** CLI 11.15.0 oder neuer unerlässlich. Für optimalen Schutz empfiehlt **GitHub**, gestaffeltes Publishing mit vertrauenswürdigem Publishing unter Verwendung von OIDC zu kombinieren.
### Granulare Installationsquellen-Flags
Eine zweite Aktualisierung, die sich auf **npm** konzentriert, führt neben dem bestehenden `-allow-git`-Flag drei neue Installationsquellen-Flags ein:
* `--allow-file`: Steuert Installationen von lokalen Dateipfaden und lokalen Tarballs.
* `--allow-remote`: Steuert Installationen von Remote-URLs, einschließlich HTTPS-Tarballs.
* `--allow-directory`: Steuert Installationen von lokalen Verzeichnissen.
Diese Flags ermöglichen es Entwicklern, "den gleichen expliziten Whitelist-Ansatz auf jede Nicht-Registry-Installationsquelle anzuwenden", so **GitHub**.
### Bekämpfung von Lieferkettenangriffen
Diese Entwicklung erfolgt inmitten einer Zunahme von Angriffen auf die Software-Lieferkette, die auf Open-Source-Ökosysteme abzielen. Jüngste Aktivitäten, einschließlich der Kompromittierungen durch **TeamPCP**, unterstreichen die Notwendigkeit verbesserter Sicherheitsmaßnahmen innerhalb des **npm**-Ökosystems.