tl;dr:
Ein Detektor für den Shai-Hulud-Wurm enthält Testdateien, die tatsächlich zu Datenverlust und gelöschten Nutzerverzeichnissen führen, wenn diese durch Unkundige tatsächlich ausgeführt werden. Die „Testdateien“ enthalten also effektiv Schadsoftware.
Anfangsverdacht
Wir wurden auf diesen Fall aufmerksam, nachdem uns ein Kunde die Testdateien des Programms zusandte, mit der Information, dass es sich hier um Fehlerkennungen handele. Zwar kommen Falscherkennungen gelegentlich vor und lassen sich auch schnell beheben.
Doch bei einer Kontrolle der eingesandten Dateien sowie einem Blick in das Git-Repository, aus dem sie stammten, war schnell klar, dass die Dateien tatsächlich bösartiges Verhalten an den Tag legten; insofern handelte es sich hier nicht um eine falschpositive Erkennung. So fanden sich hier Skripte, die einerseits Nutzerverzeichnisse löschen, und sogar Daten zu echten Bedrohungsakteuren hochladen.
Über das Ziel hinaus
Schnell war klar, dass das Detektionswerkzeug im Kern funktioniert – und dass zumindest Teile davon mit Hilfe einer KI und Vibe Coding entwickelt wurden. Wir hielten es daher für wahrscheinlich, dass das verwendete LLM die Aufgabe bekam, Dateien zu erstellen, die das Verhalten der echten Malware nachahmen solle. Ziel sollte ein Funktionstest für das Erkennungsprogramm sein. Die KI hat das dann allerdings so umgesetzt, dass sie das Verhalten 1:1 nachahmte, und tatsächlich Schadcode generierte während sie laut Kommentaren vorgab nur Simulationsprogramme zu erstellen.
Man kann hier jedoch keine böse Absicht des Projekt-Maintainers unterstellen, denn die Testdateien werden bei üblicher Nutzung des Programs nicht ausgeführt, sondern sollen von dem Detektor lediglich erkannt werden. Dennoch besteht die Gefahr, dass Nutzer beim Browsen im Ordner des Programms die Testdateien doppelklicken und damit die Schadsoftware ausführen.

Warum überhaupt ein Erkennungswerkzeug?
Angriffe auf Software-Lieferketten werden zunehmend zu einer ernsten Bedrohung. So haben kriminelle Akteure es geschafft, in npm (einer Paketverwaltung für JavaScript-Programme) Schadsoftware zu plazieren. Diese Schadsoftware ist ein Wurm, der auf den Namen „Shai Hulud“ getauft wurde – eine Anlehnung an den fiktiven Sandwurm aus Frank Herberts „Dune“-Romanserie. Dieser Wurm hat zahlreiche Softwarepakete infiltriert und stiehlt Informationen wie Login-Daten und Zugangstokens von den Systemen, auf denen die kompromittierten Pakete installiert werden. Um sich selbst zu verbreiten, nutzt Shai-Hulud die gestohlenen Zugangsdaten, um sich so in weitere npm-Pakete und zu schmuggeln.
Das weckte den Bedarf nach dedizierten Werkzeugen, die das Vorhandensein der Schadsoftware anzeigen und damit Nutzern wie Entwicklern zeigen, dass Handlungsbedarf besteht. Genau ein solches Werkzeug hat der Autor entwickelt. Es prüft das Vorhandensein bestimmter Muster in Dateien, etwa bestimmte Internet-Adressen, die von den Kriminellen, die hinter dem Schadprogramm stehen, benutzt werden. Es ist ein sehr einfacher, aber zumindest für eine schnelle Anfangs-Analyse tauglicher Ansatz. Ein Ersatz für eine „ausgewachsene“ Sicherheitslösung kann es aber nicht sein – diesen Anspruch hat das Werkzeug auch überhaupt nicht.
Eleganter wäre es gewesen, die „test-cases“ in .gitignore zu hinterlegen und gar nicht mit auszuliefern. Tests mit scharfer Malware sollten auch nur in einer Sandbox stattfinden, um nicht versehentlich oder aus Unkenntnis „echte“ Malware auf eine Produktivumgebung loszulassen.
Fazit
KI-gestützte Tools einzusetzen, um aktuelle und akute Bedrohungen einzudämmen ist grundsätzlich keine schlechte Idee. Allerdings entbindet die KI einen nicht von der Pflicht, die Ergebnisse selbst zu prüfen. Passiert das nicht, kann das schnell für andere zum Problem werden.
UPDATE: Zähne gezogen
Inzwischen hat der Maintainer des Projektes die Testdateien entschärft - somit besteht nicht mehr die Gefahr, dass versehentlich Malware heruntergeladen, ausgeführt oder erkannt wird.