Das manipulierte Paket enthielt laut JFrog einen veränderten Ausführungspfad, der einen schädlichen Loader startet, ein Bun-Archiv von GitHub herunterlädt, dieses entpackt und die JavaScript-Nutzlast ausführt. Die Schadsoftware umfasst drei Sammelmodule, die es auf Geheimnisse und Tokens für Azure, AWS, GitHub, GCP und NPM abgesehen haben, ebenso auf SSH-Material, die Shell-Historie sowie Konfigurationen von KI-Werkzeugen und MCP-bezogene Dateien.
Darüber hinaus missbraucht die Nutzlast erbeutete GitHub-Tokens und GitHub Actions, um in den Konten der Opfer Repositories und Branches anzulegen, Workflow-Dateien zu committen und die daraus entstehenden Artefakte herunterzuladen, um weiteres Geheimnismaterial abzugreifen. Die gesammelten Daten werden per HTTPS exfiltriert; schlägt das fehl, weicht die Malware auf GitHub-Pfade aus.
„Der bemerkenswerteste Aspekt dieses Pakets ist, dass es die Kompromittierung der Lieferkette einer legitimen CLI-Identität mit einem breit angelegten Diebstahl-Framework nach der Installation kombiniert", erklärt JFrog. Statt bei der Datei .npmrc oder einem einzelnen Token stehenzubleiben, greife die Malware systematisch auf lokale Zugangsdaten, CI-Geheimnisse, GitHub-Repositories und mehrere Cloud-Speicher für Geheimnisse zu.
Die Kompromittierung der Bitwarden-CLI steht in Zusammenhang mit dem jüngsten Lieferketten-Angriff auf Checkmarx, der unter anderem das öffentliche DockerHub-KICS-Image, die öffentliche ast-github-action sowie zwei Erweiterungen des Unternehmens traf. Checkmarx bestätigte den Vorfall am 22. April und rief Betroffene auf, Geheimnisse und Zugangsdaten umgehend zu rotieren. Die dort eingesetzte Malware exfiltrierte Daten an die Domain checkmarx[.]cx oder an Repositories im GitHub-Konto der Opfer — ein Muster, das auch beim Bitwarden-Angriff auftritt.
Die Analyse von Socket zu beiden Vorfällen ergab dieselbe eingebettete Nutzlaststruktur, dieselbe Methode zum Sammeln von Zugangsdaten, dieselbe Verbreitungstechnik und denselben Kill-Switch für russische Spracheinstellungen. „Das gemeinsame Werkzeug deutet stark auf eine Verbindung zum selben Malware-Ökosystem hin, doch die operativen Signaturen unterscheiden sich auf eine Weise, die die Zuordnung erschwert", so Socket. Erschwert wird sie dadurch, dass der Checkmarx-Angriff von der Gruppe TeamPCP beansprucht wurde, während der Bitwarden-Vorfall auf den Shai-Hulud-Wurm verweist.
TeamPCP, auch bekannt als DeadCatx3, PCPcat und ShellForce, ist laut Socket seit mindestens 2024 aktiv und konzentriert sich seit einem Jahr auf Lieferketten-Angriffe. Zuletzt kompromittierte die Gruppe den Schwachstellen-Scanner Trivy von Aqua Security. Die Bitwarden-Nutzlast enthält jedoch die Zeichenkette „Shai-Hulud: The Third Coming", was laut OX Security auf die jüngste Phase der früheren Kampagne hindeutet. Auch Begriffe wie atreides, fremen, sandworm und sardaukar fanden sich im Code; das deute auf eine mögliche Überschneidung mit den Shai-Hulud-Kampagnen hin, verknüpfe TeamPCP aber nicht eindeutig mit den früheren Angriffen, merkt JFrog an.
Shai-Hulud tauchte erstmals im September in der NPM-Registry auf und verbreitete sich mithilfe gestohlener Entwickler-Zugangsdaten auf mehr als 180 Pakete; in einer zweiten Welle im November infizierte der Wurm über 640 Pakete. „Nutzerdaten werden öffentlich zu GitHub exfiltriert, oft unbemerkt, weil Sicherheitswerkzeuge dorthin gesendete Daten in der Regel nicht beanstanden", sagte Moshe Ben Siman Tov, Teamleiter bei OX Security. Damit lägen die sensiblen Daten nicht mehr nur in der Hand eines einzelnen Angreifers, sondern seien für jeden zugänglich, der auf GitHub danach suche.
