Nach Auswertung von Socket umfasst die gesamte Mini-Shai-Hulud-Kampagne 1.055 Versionen über 502 einzigartige Pakete. Sie erstreckt sich über NPM, PyPI und Composer, wobei NPM den ganz überwiegenden Anteil ausmacht: 1.048 NPM-Versionen über 498 Pakete, dazu sechs PyPI-Einträge über drei Pakete und ein einzelner Composer-Eintrag. Der Großteil der betroffenen Pakete liegt im @antv-Namensraum.
Den technischen Ablauf beschreiben mehrere Forscherteams übereinstimmend. Laut Wiz lädt die Schadroutine sekundäre Payloads nach, die Zugangsdaten abgreifen und Persistenz herstellen. StepSecurity zufolge trägt jedes kompromittierte Paket eine verschleierte Payload, die den Prozessspeicher von GitHub-Actions-Runnern ausliest, um maskierte CI/CD-Geheimnisse im Klartext zu extrahieren. Zusätzlich durchsucht sie über 130 Dateipfade nach Zugangsdaten für AWS, GCP, Azure, Kubernetes, HashiCorp Vault, Kryptowährungs-Wallets und Entwicklerwerkzeuge und schleust die gestohlenen Daten über zwei Kanäle aus.
Wie bei früheren Mini-Shai-Hulud-Angriffen erfolgt die Exfiltration über GitHub-Repositorys und einen Ausweichserver. Das deutet nach Einschätzung der Forscher darauf hin, dass die Hackergruppe TeamPCP hinter dem Angriff steht.
Die Payload enthält laut Socket zudem eine Logik zum Missbrauch der NPM-Registry: Sie kann npm-Tokens über die Registry-APIs validieren, die vom Token-Inhaber verwaltbaren Pakete auflisten, deren Archive herunterladen, die Schadroutine einschleusen, einen Preinstall-Hook hinzufügen, die Versionsnummer erhöhen und die manipulierten Pakete unter der Identität des kompromittierten Maintainers erneut veröffentlichen.
Anders als in den vorangegangenen Kampagnen wurde die Malware diesmal dabei beobachtet, wie sie Python-Code von der Infrastruktur der Angreifer herunterlädt und ausführt — laut Wiz verschafft das den Betreibern eine fortlaufende Möglichkeit zur Remote-Ausführung auf kompromittierten Systemen. StepSecurity beobachtete außerdem, dass die Payload dauerhafte Hintertüren in Claude Code ablegt, und identifizierte über 2.200 GitHub-Repositorys mit exfiltrierten Daten.
Betroffen war auch Microsofts Durabletask Python SDK: Laut StepSecurity wurden innerhalb von 35 Minuten drei bösartige Versionen auf PyPI hochgeladen. Wiz bringt zudem eine frische Kompromittierung der verbreiteten GitHub Action actions-cool/issues-helper mit der Kampagne in Verbindung.
