Gestern Abend stellten mehrere Netzwerksicherheitsunternehmen fest, dass Red Hat mehrere Softwarepakete mit bösartigen Payloads auf der NPM-Plattform veröffentlicht hatte. Diese bösartigen Payloads verwendeten Variantenversionen des Open-Source-Wurms Mini Shai-Hulud. Nachdem sie die Entwicklungsumgebung betreten hatten, sammelten und verschlüsselten sie verschiedene sensible Anmeldeinformationen und luden sie auf von Hackern kontrollierte Server hoch. Gleichzeitig würde der Wurm diese Anmeldeinformationen nutzen, um sich seitlich weiter auszubreiten, weitere Entwicklungsumgebungen zu infizieren und weitere Anmeldeinformationen zu stehlen.
Nach vorläufigen Untersuchungen gehen Sicherheitsforscher davon aus, dass die Quelle des Supply-Chain-Angriffs die Entführung des GitHub-Kontos eines Red-Hat-Ingenieurs war. Der Hacker nutzte dann den NPM-Trusted-Publishing-Mechanismus, um Malware-Pakete von kurzfristigen OIDC-Tokens zu pushen, die in GitHub Actions ausgegeben wurden. Es ist unklar, wie viele Downstream-Entwickler tatsächlich betroffen waren, aber diese von Red Hat veröffentlichten Softwarepakete sind hauptsächlich für den Einsatz in Unternehmen gedacht, sodass es sich bei den meisten infizierten Downstream-Entwicklern auch um Entwickler auf Unternehmensebene handelt.

Der vertrauenswürdige Veröffentlichungsmechanismus wird ebenfalls umgangen:
Der vertrauenswürdige Veröffentlichungsmechanismus von NPM zielt darauf ab, langfristige Veröffentlichungstoken aus der CI/CD-Pipeline zu entfernen und stattdessen von GitHub Actions ausgegebene kurzfristige OIDC-Token zu verwenden, um solche langfristigen Token zu ersetzen. Dieser Mechanismus wurde ursprünglich entwickelt, um die Sicherheit zu verbessern und Sicherheitsprobleme zu vermeiden, die durch den Verlust langfristig gültiger Anmeldeinformationen verursacht werden. Jüngste Angriffsfälle in der Lieferkette haben jedoch gezeigt, dass der vertrauenswürdige Veröffentlichungsmechanismus vollständig umgangen werden kann, wenn ein Angreifer über eine Schwachstelle oder einen gestohlenen Token Zugriff auf die CI/CD-Pipeline erhält.
In diesem Angriffsfall wurde das GitHub-Konto eines Red Hat-Ingenieurs kompromittiert und dann von Hackern verwendet, um böswillige Waiseneinsendungen direkt an mehrere Code-Repositorys zu senden. Der gesamte Prozess umging auch die Codeüberprüfung. Diese verwaisten Einreichungen enthielten die Workflowdatei CI.YAML und das Skript _INDEX.JS. Wenn der Workflow ausgeführt wird, installiert er Bun, führt _INDEX.JS aus und übergibt ihm dann die Zielpaketliste über Umgebungsvariablen. Das Skript verwendet auch Berechtigungen, um kurzfristige OIDC von GitHub anzufordern. Token und verwenden Sie dann das Token, um das Paket mit der bösartigen Nutzlast direkt an NPM zu übertragen.
Variantenversionen von Mini-Sandwürmern:
Das TeamPCP-Team, das sich zuvor auf Supply-Chain-Angriffe spezialisiert hatte, veröffentlichte den Shai-Hulud-Wurm als Open Source. Mittlerweile nutzen immer mehr Hacker diesen Wurm für Angriffe. Der von den Hackern in diesem Angriffsfall verwendete Wurm ist eine auf Sandworm basierende Modifikation, wird jedoch im Wesentlichen dazu verwendet, verschiedene Anmeldeinformationen in der Entwicklungsumgebung zu stehlen und zu versuchen, sie horizontal zu verbreiten.
Zu den gestohlenen Anmeldeinformationen gehören: GitHub-Aktionsschlüssel, AWS-Zugriffsschlüssel und Sitzungstoken, GCP-Standardanmeldeinformationen und Kontodienstschlüsseldateien, Azure-Dienstprinzipalanmeldeinformationen und verwaltete Identitätstoken, NPM- und PYPI-Veröffentlichungstoken, SSH-Schlüssel, Docker-Registrierungsanmeldeinformationen, GPG-Schlüssel und alle in der Entwicklungsumgebung gefundenen .env-Dateien.