Ein fast zweistündiges Zeitfenster der Schwachstelle setzte GitHub-Benutzer einer potenziellen Übernahme aus, nachdem eine betrügerische Befehlszeilenschnittstelle als legitimes Bitwarden-Tool ausgegeben wurde.

Am 22. April erschien eine bösartige Version der Befehlszeilenschnittstelle von Bitwarden auf npm unter dem offiziellen Paketnamen @bitwarden/cli@2026.4.0. 93 Minuten lang erhielt jeder, der die CLI über npm zog, einen hintertürigen Ersatz für das legitime Tool.
Bitwarden entdeckte die Kompromittierung, entfernte das Paket und gab eine Erklärung heraus, in der es hieß, es habe keine Beweise dafür gefunden, dass Angreifer auf Tresordaten von Endbenutzern zugegriffen oder Produktionssysteme kompromittiert hätten.
Das Sicherheitsforschungsunternehmen JFrog analysierte die bösartige Nutzlast und stellte fest, dass sie kein besonderes Interesse an Bitwarden-Tresoren hatte. Es zielte auf GitHub-Tokens, NPM-Tokens, SSH-Schlüssel, Shell-Verlauf, AWS-Anmeldeinformationen, GCP-Anmeldeinformationen, Azure-Anmeldeinformationen, GitHub Actions-Geheimnisse und KI-Tool-Konfigurationsdateien ab.
Dabei handelt es sich um Anmeldeinformationen, die bestimmen, wie Teams ihre Infrastruktur aufbauen, bereitstellen und erreichen.
Gezieltes Geheimnis/Datentyp
Wo es normalerweise lebt
Warum es operativ wichtig ist
GitHub-Tokens
Entwickler-Laptops, lokale Konfiguration, CI-Umgebungen
Kann Repo-Zugriff, Workflow-Missbrauch, geheime Auflistung und seitliche Bewegung durch Automatisierung ermöglichen
NPM-Token
Lokale Konfiguration, Release-Umgebungen
Kann verwendet werden, um bösartige Pakete zu veröffentlichen oder Release-Flows zu ändern
SSH-Schlüssel
Entwicklermaschinen, Build-Hosts
Kann den Zugriff auf Server, interne Repos und Infrastruktur öffnen
Shell-Geschichte
Lokale Maschinen
Kann eingefügte Geheimnisse, Befehle, interne Hostnamen und Workflow-Details preisgeben
AWS-Anmeldeinformationen
Lokale Konfigurationsdateien, Umgebungsvariablen, CI-Geheimnisse
Kann Cloud-Workloads, Speicher und Bereitstellungssysteme verfügbar machen
GCP-Anmeldeinformationen
Lokale Konfigurationsdateien, Umgebungsvariablen, CI-Geheimnisse
Kann Cloud-Projekte, Dienste und Automatisierungspipelines verfügbar machen
Azure-Anmeldeinformationen
Lokale Konfigurationsdateien, Umgebungsvariablen, CI-Geheimnisse
Kann Cloud-Infrastruktur, Identitätssysteme und Bereitstellungspfade offenlegen
Geheimnisse der GitHub-Aktionen
CI/CD-Umgebungen
Kann Zugriff auf Automatisierung, Build-Ausgaben, Bereitstellungen und Downstream-Geheimnisse gewähren
KI-Tooling-/Konfigurationsdateien
Projektverzeichnisse, lokale Entwicklungsumgebungen
Kann API-Schlüssel, interne Endpunkte, Modelleinstellungen und zugehörige Anmeldeinformationen offenlegen
Bitwarden bedient über 50.000 Unternehmen und 10 Millionen Benutzer, und seine eigene Dokumentation beschreibt die CLI als eine „leistungsstarke, voll funktionsfähige“ Möglichkeit, auf den Tresor zuzugreifen und ihn zu verwalten, einschließlich automatisierter Workflows, die sich mithilfe von Umgebungsvariablen authentifizieren.
Bitwarden listet npm als einfachste und bevorzugte Installationsmethode für Benutzer auf, die bereits mit der Registrierung vertraut sind. Diese Kombination aus Automatisierungsnutzung, Installation auf der Entwicklermaschine und offizieller NPM-Verteilung platziert die CLI genau dort, wo sich wertvolle Infrastrukturgeheimnisse befinden.
Die Analyse von JFrog zeigt, dass das Schadpaket sowohl den Preinstall-Hook als auch den BW-Binär-Einstiegspunkt mit einem Loader neu verbunden hat, der die Bun-Laufzeit abgerufen und eine verschleierte Nutzlast gestartet hat. Der Kompromiss wird zur Installationszeit und zur Laufzeit ausgelöst.
Eine Organisation konnte die hintertürige CLI ausführen, ohne gespeicherte Passwörter anzutasten, während die Malware systematisch die Anmeldeinformationen sammelte, die ihre CI-Pipelines, Cloud-Konten und die Bereitstellungsautomatisierung regeln.
Laut der Sicherheitsfirma Socket scheint der Angriff eine kompromittierte GitHub-Aktion in der CI/CD-Pipeline von Bitwarden ausgenutzt zu haben, was mit einem Muster übereinstimmt, das Checkmarx-Forscher verfolgt haben.
Bitwarden bestätigte, dass der Vorfall mit der umfassenderen Checkmarx-Lieferkettenkampagne zusammenhängt.
Der Vertrauensengpass
Npm hat sein vertrauenswürdiges Veröffentlichungsmodell entwickelt, um genau dieser Risikoklasse zu begegnen.
Durch den Ersatz langlebiger npm-Veröffentlichungstoken durch OIDC-basierte CI/CD-Authentifizierung entfernt das System einen der häufigsten Wege, die Angreifer nutzen, um Registrierungsversionen zu kapern, und npm empfiehlt vertrauenswürdige Veröffentlichungen und betrachtet sie als einen sinnvollen Fortschritt.
Die schwierigere Oberfläche ist die Release-Logik selbst, beispielsweise die Workflows und Aktionen, die den Veröffentlichungsschritt aufrufen. In der eigenen Dokumentation von Npm werden Kontrollen empfohlen, die über OIDC hinausgehen, beispielsweise Bereitstellungsumgebungen mit manuellen Genehmigungsanforderungen, Tag-Schutzregeln und Zweigeinschränkungen.
Schicht in der Vertrauenskette
Was es garantieren soll
Was kann noch schief gehen
Quell-Repository
Die beabsichtigte Codebasis ist im erwarteten Repo vorhanden
Angreifer müssen die Hauptcodebasis möglicherweise nie direkt ändern
CI/CD-Workflow
Automatisiert Build und Release aus dem Repo
Wenn es kompromittiert wird, kann es ein bösartiges Artefakt erzeugen und veröffentlichen
GitHub-Aktionen/Release-Logik
Führt die Schritte zum Erstellen und Veröffentlichen von Software aus
Eine manipulierte Aktion oder ein missbrauchter Workflow können einen legitimen Release-Pfad bösartig machen
OIDC-vertrauenswürdige Veröffentlichung
Ersetzt langlebige Registrierungstoken durch kurzlebige identitätsbasierte Authentifizierung
Es beweist, dass ein autorisierter Workflow das Paket veröffentlicht hat, und nicht, dass der Workflow selbst sicher war
npm offizielle Paketroute
Verteilt Software unter dem erwarteten Paketnamen
Benutzer erhalten möglicherweise weiterhin Malware, wenn der offizielle Veröffentlichungspfad kompromittiert wird
Entwicklermaschine / CI-Runner
Verbraucht das offizielle Paket
Schadsoftware, die während der Installation oder zur Laufzeit installiert wird, kann lo ernten