Status-Publishing in npm: Genehmigung mit 2FA, die das automatische Publishing verhindert und die Lieferkette schützt

Autor: Veröffentlicht 3 min de lectura 213 Lesen

Die Bilder in diesem Artikel wurden mit künstlicher Intelligenz erstellt. So veröffentlichen wir

GitHub hat ein neues npm-Tool aktiviert Veröffentlichung die eine manuelle Genehmigung eines Betreuers (durch Doppelfaktor-Herausforderung) erfordert, bevor eine veröffentlichte Version von npmjs.com sichtbar und herunterladbar ist. In der Praxis wird vorgefertigter Tarball nicht mehr sofort publiziert: er steigt auf einen sperrenden Schwanz und benötigt eine Person mit Veröffentlichungszugriff und 2FA, um seine Freigabe zu bestätigen. Diese kleine, aber signifikante Modifikation will hinzufügen Test der menschlichen Präsenz für jede Veröffentlichung, einschließlich für Geräte von CI / CD.

Der Mechanismus ändert das traditionelle Modell, in dem eine Pipeline automatisch eine Version veröffentlichen könnte, sobald sie beendet ist: jetzt kann die Pipeline das Paket mit dem Befehl "npm Stage veröffentlichen" hochladen (verfügbar ab npm CLI 11.15.0), aber die Version wird nicht installiert werden, bis ein Betreuer die 2FA Herausforderung überschreitet. Dies mildert Szenarien, in denen fehlerhaft konfigurierte engagierte Anmeldeinformationen oder Workflows die automatisierte Veröffentlichung von schädlichen Geräten ermöglichen, weil es eine authentifizierte menschliche Interaktion vor dem endgültigen Push erfordert.

Status-Publishing in npm: Genehmigung mit 2FA, die das automatische Publishing verhindert und die Lieferkette schützt
Bild generiert mit IA.

Es ist wichtig, seine Grenzen zu verstehen: nicht auf neue Pakete anwendbar die noch nicht im Register vorhanden sind, erfordert das Konto des Betreuers, dass 2FA aktiviert ist und die Teams ihren Client npm auf 11.15.0 oder mehr aktualisieren. Darüber hinaus erhöht die Kontrolle nur die Schwierigkeit für automatisierte Angriffe; es verhindert nicht, dass ein Angreifer, der die 2FA des Betreuers (durch Phishing oder Zugriff auf Tokens) übertrifft schädlichen Code veröffentlicht. Aus diesem Grund empfiehlt GitHub, das Start-Publishing mit vertrauenswürdige Veröffentlichung mit OIDC die die Abhängigkeit von langfristigen Token im CI reduziert und die Rückverfolgbarkeit der Identität der Pipeline verbessert.

Parallel hat npm drei Flaggen zur Steuerung von Installationsursprüngen no-record hinzugefügt: --allow-file, --allow-remote und --allow-directory neben dem vorhandenen --allow-git. Diese Optionen ermöglichen eine strengere zugelassene Listenstrategie für Einrichtungen aus lokalen Dateien, entfernten URLs oder Verzeichnissen: Bedienelemente, die nützlich sind, um schädliche Tarball-Injektionen zu vermeiden oder die versehentliche Installation von unified Quelleinheiten aus Skripten oder lokalen Tests.

Status-Publishing in npm: Genehmigung mit 2FA, die das automatische Publishing verhindert und die Lieferkette schützt
Bild generiert mit IA.

Für Ausrüstung und Wartung ist die sofortige praktische Empfehlung klar: aktive 2FA in allen Konten mit Veröffentlichungsgenehmigungen, aktualisiert die npm CLI auf 11.15.0 + und ermöglicht die Veröffentlichung von kritischen Paketen. Auf organisatorischer Ebene nimmt es OIDC für Ihre CI / CD-Läufer an und eliminiert langfristige Token; Grenzen überlebenden Token-Bereiche; Aufzeichnungen und Warnungen ungewöhnliche Verlagsaktivitäten; und verwendet zusätzliche Signaturen oder Verifikationsmechanismen für Artefakte, soweit möglich. Vervollständigen Sie dies mit der Software-Zusammensetzungsanalyse (SCA), der obligatorischen Änderungsbewertungen und der SBOMs-Generation für jeden Build.

Vergessen Sie nicht, die Installationsrichtlinien in Entwicklungs- und Produktionsumgebungen zu stärken: betrachten Sie standardmäßig, Anlagen von URLs oder Dateien zu leugnen und ausdrücklich nur das zuzulassen, was durch neue Fahnen notwendig ist, und entwickeln Sie Entwickler über die Risiken der Installation von Paketen aus externen Quellen. Diese Maßnahmen verringern den Bereich, durch den massive "Vergiftung"-Kampagnen - wie die kürzlich auf Gruppen zurückzuführen, die beliebte Pakete manipulieren - verbreiten können.

Die inszenierte Publikation ist kein Panacea, sondern stellt einen wertvollen Fortschritt bei der Verteidigung des Open Source-Ökosystems dar: Sie führt einen menschlichen Kontrollpunkt ein, der automatisierte Angriffe erschwert und die Rückverfolgbarkeit von Publikationen verbessert. Weitere Informationen zu den Sicherheitspraktiken der Software-Versorgungskette und ergänzenden Empfehlungen finden Sie in der offiziellen Dokumentation der npm https: / / docs.npmjs.com / und Ressourcen für die Versorgungskettensicherheit wie das OWASP-Projekt https: / / owasp.org / www-project-supply-chain-security /. Es ist auch nützlich, GitHubs Blog für Updates und praktische Anleitungen in diesem Bereich zu folgen: https: / / github.blog /.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.