Die Modelle geben sich als kleine Qwen2-Testcheckpoints aus und zielen auf GPU-Hosts, auf denen selbst betriebene Inferenzserver wie Xinference oder GPUStack laufen. Statt vergifteter Gewichte oder Pickle-Exploits nutzt die Kampagne die Hugging-Face-Option trust_remote_code, mit der ein Modell eigenen Python-Code mitliefern kann. Aktiviert ein Nutzer diese Option, läuft der Code beim Laden des Modells unmittelbar auf seiner Maschine.

Das meistgeladene Modell, MENXIANGYU/qwen2-tiny, enthielt überhaupt kein Modell. Sein Code installiert unauffällig einen Kryptominer, der sich als Linux-Systemprozess tarnt, sich nach dem Abschießen selbst neu startet und konkurrierende Miner vom System entfernt. Einige Versionen öffnen zusätzlich eine Reverse Shell und geben dem Angreifer direkten Zugriff auf den infizierten Server.

Auf die Spur kam Pluto der Kampagne über ein Testkonto, dessen zurückgelassene Backup-Dateien auf die Hauptkonten des Angreifers verwiesen. Die erste Welle meldete das Team an Hugging Face und an den chinesischen Dienst ModelScope, beide entfernten die Konten. Innerhalb weniger Tage erschien eine zweite Welle mit 19 Repositories unter neuen Konten. Wenige Stunden nach Plutos Meldung veröffentlichte der Betreiber ein weiteres Modell mit einem Skript, das aus einem Container ausbrechen und den darunterliegenden Server übernehmen kann.

Nach Angaben von Pluto waren die Repositories der zweiten Welle acht Tage nach der Meldung noch immer erreichbar. Die Downloads des Hauptmodells stiegen in dieser Zeit von 7.354 zum Meldezeitpunkt auf 28.412 am 28. Oktober. Inzwischen hat Hugging Face den Zugriff auf dieses Modell gesperrt. Eine nahezu identische Kopie, die am 25. Oktober von dem neueren Konto htt0118 hochgeladen wurde, ist weiterhin online und enthält denselben Miner und dieselbe Reverse Shell.

Hugging Face prüft Uploads mit Virenscannern sowie Werkzeugen der Partner Protect AI und JFrog. Pluto zufolge suchen diese nach bekannter Schadsoftware und unsicheren Modellformaten, nicht danach, was der Python-Code eines Modells tatsächlich tut. „Das Flaggschiff der zweiten Welle wurde als sauber eingestuft, während es 28.412 Downloads sammelte", so die Forscher. JFrog habe zur Payload-Datei lediglich gemeldet, sie sei „kein Machine-Learning-Modell".

Auf der Haupt-Wallet des Betreibers sind laut Pluto rund 5.000 US-Dollar in der Kryptowährung Pearl (PRL) eingegangen; sie war in Mining-Pools noch aktiv, nachdem die zugehörigen Repositories entfernt worden waren. Während der Beobachtung begannen neun Maschinen, die offenbar zu einem gemeinsam genutzten GPU-Forschungscluster gehören, gleichzeitig für den Betreiber zu schürfen. Rund sechs Minuten später fielen sie wieder weg — nach Plutos Einschätzung passt das dazu, dass ein Administrator die Jobs beendet hat.

Pluto schreibt die Kampagne einem finanziell motivierten, chinesischsprachigen Betreiber zu und verweist auf Code-Kommentare in vereinfachtem Chinesisch, Command-and-Control-Server in der Alibaba Cloud sowie Aktivitätszeiten, die in China in die späte Nacht fallen.

Wer eines dieser Modelle mit aktiviertem trust_remote_code geladen hat, sollte die betroffene Maschine als kompromittiert behandeln, sie gegen die Indikatoren aus Plutos Bericht prüfen und alle erreichbaren Zugangsdaten wechseln. Den Miner zu beenden entfernt die Hintertüren nicht.

Gefälschtes Solana-Kit zielt auf KI-Coding-Agenten

Unabhängig davon beschreibt Air Security ein GitHub-Repository namens SolanaUpdateTools/solana-starter-kit, das nach Angaben der Firma als Topergebnis erscheint, wenn KI-Coding-Agenten nach einem Solana-Starter-Kit suchen. Ein Agent, der das Repository auswählt und dessen README folgt, könnte den Befehl des Angreifers ausführen, ohne dass der Entwickler es je sieht.

Das Repository wurde im November 2025 angelegt und hat 286 Sterne. Die README verspricht eine vollständige Solana-App-Vorlage, doch dieser Code existiert nicht — die README ist die einzige Datei im Repository. Als einziger „Installationsschritt" sollen Nutzer einen PowerShell-Einzeiler in eine Eingabeaufforderung einfügen. Der nur unter Windows lauffähige Befehl setzt aus Fragmenten eine URL auf developer-update[.]app zusammen, lädt von dort ein Skript und führt es im Arbeitsspeicher aus.

Die Payload installiert NetSupport Manager, ein legitimes Fernwartungswerkzeug, konfiguriert auf die Gegenstelle maxwintodaybtc[.]com, womit der Angreifer bei jeder Anmeldung verdeckte Kontrolle über die Maschine erhält. Anschließend zeigt das Skript eine gefälschte Fehlermeldung an: Die „Entwicklerfunktionalität ist wegen Auslastung vorübergehend pausiert", man solle es „in 72 Stunden erneut versuchen" — eine Meldung, die ein Agent leicht als gewöhnliche Serverstörung weitergeben könnte.

Air Security verknüpft den Aufbau mit einem bekannten NetSupport-RAT-Betreiber, der von eSentire verfolgt wird, sowie mit einer früheren Kampagne, die Krypto-Trader mit gefälschten „KI-Signal"-Werkzeugen für TradingView köderte. Die Payload-URL lieferte bei Airs Prüfung einen 404-Fehler zurück; das GitHub-Repository war zum Zeitpunkt der Veröffentlichung weiterhin online.