Die ForceMemo-Kampagne stützt sich auf Zugangsdaten, die zuvor im GlassWorm-Feldzug gegen VS-Code-Entwickler erbeutet wurden. Mit diesen Anmeldedaten übernehmen die Angreifer GitHub-Konten und manipulieren die zugehörigen Python-Projekte – nach Darstellung von StepSecurity systematisch für jedes Repository eines kompromittierten Kontos.

Die eigentliche Injektionsmethode ist darauf ausgelegt, möglichst wenige Spuren zu hinterlassen. Die Angreifer setzen die letzten legitimen Commits per Rebase neu, schleusen verschleierten Schadcode ein und erzwingen die Übernahme mittels Force-Push. Weil dabei Commit-Nachricht und Autorendatum erhalten bleiben und nur das Committer-Datum verändert wird, fällt die Manipulation kaum auf. “Der Nachweis einer Kompromittierung auf Kontoebene ist eindeutig: Wird ein Konto mit mehreren Repositories übernommen, erhält jedes Repository unter diesem Konto eine Injektion”, erklärt StepSecurity.

Bei der Ausführung prüft der eingeschleuste Code das jeweilige System und überspringt Maschinen, deren Sprache auf Russisch eingestellt ist. Das deutet laut StepSecurity auf eine osteuropäische Cyberkriminalitätsgruppe hin. Anschließend fragt die Schadsoftware eine bestimmte Solana-Blockchain-Adresse nach Transaktions-Memos ab, um daraus Anweisungen auszulesen. Auf dieser Grundlage lädt sie eine verschlüsselte JavaScript-Nutzlast nach, entschlüsselt und führt sie aus und richtet einen Persistenzmechanismus ein.

Der Akteur hinter ForceMemo besitzt den privaten Schlüssel zur verwendeten Kryptowährungsadresse und nutzt das Memo-Programm von Solana, um die Instruktionen zu hinterlegen. Die früheste Transaktion auf dieser Adresse stammt vom 27. November 2025 – mehr als drei Monate vor dem Start der aktuellen Kampagne. Insgesamt verzeichnet die Adresse 50 Transaktionen, wobei der Angreifer die Payload-URL regelmäßig und teils mehrfach täglich aktualisierte. StepSecurity wertet dies als Hinweis darauf, dass zuvor andere Infektionswege genutzt wurden, bevor man auf GitHub-Repositories umschwenkte.

Die zugrunde liegende GlassWorm-Malware verdankt ihren Namen der Technik, mit Unicode-Variationsselektoren Code für das menschliche Auge unsichtbar zu machen und so der Entdeckung zu entgehen. Sie war darauf ausgelegt, sensible Daten wie NPM-, GitHub- und Git-Zugangsdaten sowie Kryptowährungsbestände zu stehlen. Daneben konnte sie SOCKS-Proxyserver einrichten und Angreifern über versteckte VNC-Server Fernzugriff auf die Systeme der Opfer verschaffen.

GlassWorm trat erstmals im Oktober 2025 in einem Supply-Chain-Angriff über den OpenVSX-Marktplatz in Erscheinung und wurde vermutlich mehr als 35.000-mal heruntergeladen; der Angriff war innerhalb von drei Tagen eingedämmt. Eine zweite Variante infizierte im November drei VS-Code-Erweiterungen mit zusammen rund 10.000 Downloads. Ende Januar 2026 folgte ein weiterer Angriff, bei dem ein Akteur ein Entwicklerkonto übernahm und manipulierte Versionen von vier Erweiterungen mit zusammen über 22.000 Downloads veröffentlichte.

Aktuell warnen sowohl Aikido als auch Socket vor neuer GlassWorm-Aktivität gegen VS-Code-Erweiterungen sowie gegen NPM und GitHub. Aikido zufolge wurden zwischen dem 3. und 9. März rund 150 GitHub-Repositories kompromittiert; dieselbe Technik tauche nun auch bei NPM und im VS-Code-Marktplatz auf, was auf einen koordinierten Vorstoß über mehrere Ökosysteme hinweise.

Bei den neuen Angriffen auf den Open-VSX-Marktplatz beobachtet Socket eine Verschiebung in der Taktik: Statt die Malware direkt einzubetten, missbrauchen die Angreifer zwei Manifest-Felder, über die Erweiterungen automatisch weitere Erweiterungen nachladen können. So werden unauffällige Erweiterungen zu Installern für schädliche Komponenten. Socket identifizierte über 70 zugehörige Erweiterungen, die populäre Werkzeuge, Code-Runner und Sprach-Tools imitierten und größtenteils bis zum 13. März aus der Open-VSX-Registry entfernt worden waren. Auch KI-Entwickler standen im Visier.