Bitwarden zufolge betraf der Vorfall allein den npm-Vertriebsmechanismus für die CLI während eines begrenzten Zeitfensters, nicht jedoch die Integrität des legitimen Bitwarden-CLI-Codes oder gespeicherte Tresordaten. Nachdem das Problem erkannt worden war, habe man den kompromittierten Zugang widerrufen, die schädliche npm-Veröffentlichung als veraltet markiert und umgehend Gegenmaßnahmen eingeleitet.

Laut Socket nutzten die Angreifer offenbar eine kompromittierte GitHub Action in Bitwardens CI/CD-Pipeline, um Schadcode in das CLI-npm-Paket einzuschleusen. Nach Analyse von JFrog wurde das Paket so verändert, dass das preinstall-Skript und der CLI-Einstiegspunkt einen eigenen Loader namens bw_setup.js verwenden. Dieser prüft, ob die Bun-Laufzeitumgebung vorhanden ist, und lädt sie andernfalls herunter. Anschließend startet der Loader über Bun eine verschleierte JavaScript-Datei namens bw1.js, die als Schadsoftware zum Diebstahl von Zugangsdaten dient.

Einmal ausgeführt, sammelt die Malware zahlreiche Geheimnisse von befallenen Systemen, darunter npm-Token, GitHub-Authentifizierungs-Token, SSH-Schlüssel sowie Cloud-Zugangsdaten für AWS, Azure und Google Cloud. Die gesammelten Daten werden mit AES-256-GCM verschlüsselt und exfiltriert, indem unter dem Konto des Opfers öffentliche GitHub-Repositories angelegt werden, in denen die verschlüsselten Daten abgelegt sind.

OX Security zufolge enthalten diese erzeugten Repositories die Zeichenfolge „Shai-Hulud: The Third Coming" – ein Verweis auf frühere Angriffe auf die npm-Lieferkette, die eine ähnliche Methode und Textzeichenfolge zur Exfiltration nutzten. Die Schadsoftware kann sich zudem selbst weiterverbreiten: Laut OX Security verwendet sie gestohlene npm-Zugangsdaten, um Pakete zu identifizieren, die das Opfer verändern darf, und schleust dort Schadcode ein. Socket beobachtete außerdem, dass die Schadlast gezielt CI/CD-Umgebungen angreift und Geheimnisse abgreift, die sich zur Ausweitung des Angriffs wiederverwenden lassen.

Der Vorfall folgt auf einen separaten Lieferketten-Angriff, den Checkmarx offengelegt hatte und der dessen KICS-Docker-Images, GitHub Actions und Entwicklererweiterungen betrifft. Wie die Angreifer genau Zugang erlangten, ist nicht bekannt. Bitwarden teilte BleepingComputer jedoch mit, der Vorfall stehe mit dem Checkmarx-Angriff in Verbindung; ein kompromittiertes, mit Checkmarx zusammenhängendes Entwicklungswerkzeug habe den Missbrauch des npm-Auslieferungswegs für die CLI in einem begrenzten Zeitfenster ermöglicht.

Auch Socket sieht überlappende Indikatoren zwischen dem Checkmarx-Einbruch und diesem Angriff. Die Verbindung bestehe auf Ebene von Malware und Infrastruktur, so Socket gegenüber BleepingComputer: Die Bitwarden-Schadlast nutze denselben Endpunkt audit.checkmarx[.]cx/v1/telemetry, der bereits im Checkmarx-Vorfall auftauchte, dieselbe Verschleierungsroutine __decodeScrambled mit dem Startwert 0x3039 sowie dasselbe Muster aus Diebstahl von Zugangsdaten, GitHub-gestützter Exfiltration und Weiterverbreitung über die Lieferkette. Die Bitwarden-Schadlast enthalte überdies dieselben eingebetteten gzip-und-base64-Komponenten wie die frühere Malware. Beide Kampagnen werden mit einem Akteur namens TeamPCP in Verbindung gebracht, der zuvor die großangelegten Lieferketten-Angriffe auf Trivy und LiteLLM verübt hatte.

Entwickler, die die betroffene Version installiert haben, sollten ihre Systeme und Zugangsdaten als kompromittiert betrachten und sämtliche offengelegten Anmeldedaten austauschen – insbesondere solche für CI/CD-Pipelines, Cloud-Speicher und Entwicklungsumgebungen.