Der Angriff folgt einem bekannten Muster: Unmittelbar nach der Installation wird ein Loader namens setup.mjs aktiviert, der die JavaScript-Runtime Bun von GitHub herunterlädt und einen stark verschleiert konfigurierten Payload (execution.js) ausführt. Dieser Information-Stealer arbeitet systematisch und stiehlt eine Vielzahl von Zugangsdaten von beiden Entwickler-Maschinen und CI/CD-Umgebungen.
Besonders perfide ist die Methode zur Extraktion von Secrets aus CI-Runner-Umgebungen: Das Malware-Skript lädt ein eingebettetes Python-Script, das die Dateien /proc/
Nach der Datensammlung wird alles verschlüsselt und in öffentliche GitHub-Repositories unter dem Konto des Opfers hochgeladen. Die Repositories tragen bezeichnenderweise die Beschreibung “A Mini Shai-Hulud has Appeared” – eine Anspielung auf die “Shai-Hulud: The Third Coming”-Strings aus dem Bitwarden-Angriff.
Die Angreifer nutzen auch eine Kombination aus GitHub-Commits als Dead-Drop-Mechanismus: Sie durchsuchen GitHub nach spezifischen Strings und nutzen Commit-Nachrichten im Format “OhNoWhatsGoingOnWithGitHub:
Besonders besorgniserregend ist die Selbstverbreitungsfunktion des Malware-Codes: Mit gestohlenen npm- oder GitHub-Credentials versucht der Payload, andere Pakete und Repositories zu modifizieren und injiziert dieselbe malicious Code, um sich exponentiell auszubreiten. Dies unterstreicht die Gefahr von Supply-Chain-Angriffen: Ein einziger kompromittierter Account kann Millionen von Entwicklern gefährden.
Sicherheitsingenieur Adnan Khan vermutet, dass Angreifer über ein misskonfluriertes CircleCI-Job ein npm-Token freigelegt bekamen. SAP selbst äußerte sich bislang nicht zur Kompromittierung, was viele Fragen zur internen Sicherheit aufwirft. Für deutsche Unternehmen ist eine sofortige Überprüfung der betroffenen Pakete und eine Rotierung aller Credentials dringend erforderlich.
