Nach Angaben von JFrog handelt es sich bei allen sieben veröffentlichten Versionen um dieselbe trojanisierte Abspaltung von Newtonsoft.Json 13.0. Die Fassungen verteilen sich auf drei Generationen, die zwischen dem 13. August und dem 10. Oktober 2025 veröffentlicht wurden. Inhaltlich verändert wurden laut den Forschern vor allem die Verschleierung, die Manipulationsstrategie und der Exfiltrationspfad.
Der Schadcode wird über den Setter der Eigenschaft DefaultSettings gestartet. Diese Komponente wurde so verändert, dass sie vom Angreifer kontrollierten Code ausführt und zunächst eine zufällige Verzögerung einbaut. Laut JFrog soll das die Erkennung erschweren, bevor die eigentliche schädliche Funktion ausgelöst wird. Ziel sind Server, auf denen das Backend des Digitain-Crash-Spiels läuft. Manipulierte Rundenergebnisse werden demnach an den fest eincodierten Endpunkt „185.126.237[.]64:5341“ übertragen und dabei als Telemetriedaten getarnt. In späteren Varianten nutzt die Exfiltration laut JFrog zudem den Header „X-Seq-ApiKey: theperfectheist2025“.
JFrog-Sicherheitsforscher Guy Korolevski betont, dass Entwickler bei einem Tippfehler zunächst eine echte, funktionierende Newtonsoft.Json-Bibliothek erhalten. Die bösartige Funktion beginne erst, nachdem die Anwendung JsonConvert.DefaultSettings initialisiert habe. Erfolgreich sei sie nur auf Systemen, die die spezifische Backend-Methode des Ziels bereitstellen. Genau diese Selektivität mache den Angriff so schwer erkennbar: Nicht betroffene Nutzer sähen lediglich eine funktionierende JSON-Bibliothek und keinerlei Manipulationsverhalten.
Als primäres Ziel der Manipulation nennt JFrog Digitain, den Betreiber des Wettspiels FG-Crash. Zusätzlich fanden die Forscher in den Paketmetadaten siebenmal eine interne Repository-URL von Digitain — in sämtlichen Paketversionen. Das deute darauf hin, dass der Autor Zugriff auf den Quellcode von FG-Crash hatte.
Zur Entwicklung der Schadlogik erklärt JFrog, die erste Generation sei ein lokaler Machbarkeitsnachweis für die Manipulation gewesen. Die zweite Generation habe zusätzlich Exfiltration eingebaut und diese hinter Reflection und ConfuserEx verborgen. In der dritten Generation seien die Manipulationslogik bereinigt und die Exfiltration stabilisiert worden. Version 11.0.11 sei vollständig unverschleiert veröffentlicht worden, was laut JFrog zu einem versehentlich publizierten sauberen Build passe.
Korolevski zufolge enthält die Nutzlast weder Diebstahl von Zugangsdaten noch Persistenz- oder Lateralmovement-Funktionen. Ihr einziger Zweck sei es, die Integrität des Crash-Spiels zu kompromittieren. Andere Entwickler, die das Paket installiert haben, könnten daher unter Umständen weder bemerken, dass sie Schadsoftware eingebunden haben, noch negative Auswirkungen in ihren Anwendungen feststellen, weil die Manipulation nur auf eine bestimmte Organisation ausgerichtet sei.
Als Gegenmaßnahmen empfehlen die Forscher, das typosquattete Paket zu entfernen, die C2-Adresse zu blockieren und Newtonsoft.Json über packages.lock.json auf eine als vertrauenswürdig bekannte Version festzuschreiben. Digitain teilte laut dem Bericht mit, man kenne das Problem und habe Schritte zu seiner Behebung eingeleitet. Wie weit die Gefährdung tatsächlich reichte, ist demnach noch unklar.
