GlassWorm ist der Name einer laufenden Kampagne, deren Erweiterungen darauf ausgelegt sind, Zugangsdaten und Geheimnisse zu stehlen, Kryptowährungs-Wallets zu leeren und infizierte Systeme als Proxys für weitere kriminelle Aktivitäten zu missbrauchen. Erstmals beschrieben wurde die Aktivität von Koi Security im Oktober 2025; npm-Pakete mit denselben Methoden – insbesondere der Einsatz unsichtbarer Unicode-Zeichen zum Verstecken von Schadcode – wurden bereits im März 2025 identifiziert.

Die neueste Variante behält viele typische Merkmale bei: Sie prüft, ob ein System eine russische Spracheinstellung verwendet, und verschont solche Systeme. Zudem nutzt sie Solana-Transaktionen als versteckten Vermittler, um die Adresse des Command-and-Control-Servers (C2) abzurufen und so widerstandsfähiger gegen Abschaltungen zu sein. Neu sind eine stärkere Verschleierung sowie das Rotieren der Solana-Wallets, um einer Erkennung zu entgehen.

Der zentrale Trick liegt im Missbrauch der Beziehungen zwischen Erweiterungen. Unabhängig davon, ob eine Erweiterung in ihrer Datei “package.json” andere Erweiterungen als “extensionPack” oder als “extensionDependencies” deklariert, installiert der Editor automatisch alle dort aufgeführten weiteren Erweiterungen. GlassWorm nutzt dadurch eine Erweiterung als Installationsprogramm für eine zweite, bösartige Erweiterung – ähnlich wie npm-Pakete sich auf manipulierte Abhängigkeiten stützen.

Daraus ergibt sich ein neues Angriffsszenario: Ein Angreifer lädt zunächst eine völlig harmlose VS-Code-Erweiterung in den Marktplatz hoch, um die Prüfung zu bestehen, und ergänzt erst in einem späteren Update ein GlassWorm-verknüpftes Paket als Abhängigkeit. “Eine Erweiterung, die bei der Erstveröffentlichung nicht-transitiv und vergleichsweise gutartig wirkte, kann so später zum transitiven GlassWorm-Verteiler werden, ohne dass sich ihr offensichtlicher Zweck ändert”, erklärte Socket.

In einer parallelen Warnung führte Aikido den GlassWorm-Akteur auf eine breit angelegte Kampagne quer durch Open-Source-Repositories zurück. Dabei schleusen die Angreifer unsichtbare Unicode-Zeichen ein, die einen Payload kodieren. In Code-Editoren und Terminals ist der Inhalt nicht sichtbar, dekodiert wird jedoch ein Lader, der ein Skript der zweiten Stufe nachlädt, um Tokens, Anmeldedaten und Geheimnisse zu stehlen. Schätzungen zufolge waren zwischen dem 3. und 9. März 2026 mindestens 151 GitHub-Repositories betroffen; dieselbe Unicode-Technik kam zudem in zwei npm-Paketen zum Einsatz.

“Die bösartigen Einschleusungen kommen nicht in offensichtlich verdächtigen Commits”, sagte der Sicherheitsforscher Ilyas Makari. Die umgebenden Änderungen wirkten realistisch – Anpassungen an der Dokumentation, Versionssprünge, kleine Refactorings und Fehlerbehebungen, stilistisch passend zum jeweiligen Projekt. Dieses Maß an projektspezifischer Anpassung lege nahe, dass die Angreifer große Sprachmodelle zur Erzeugung überzeugender Tarn-Commits einsetzen.

Parallel meldete Endor Labs 88 neue bösartige npm-Pakete, die zwischen November 2025 und Februar 2026 in drei Wellen über 50 Wegwerf-Konten hochgeladen wurden. Sie stehlen sensible Daten wie Umgebungsvariablen, CI/CD-Tokens und Systemmetadaten. Auffällig ist der Einsatz sogenannter Remote Dynamic Dependencies (RDD), bei denen die “package.json” eine Abhängigkeit über eine eigene HTTP-URL bezieht – so können die Betreiber den Schadcode jederzeit ändern und Prüfungen umgehen.

Zunächst wurden die Pakete der PhantomRaven-Kampagne zugerechnet. In einer Aktualisierung schränkte Endor Labs ein, dass sie nach Angaben eines Sicherheitsforschers Teil eines legitimen Experiments seien – eine Darstellung, die das Unternehmen mit drei Warnzeichen anzweifelt: Die Bibliotheken sammelten weit mehr Informationen als nötig, böten den Nutzern keinerlei Transparenz und würden über gezielt rotierte Konten- und E-Mail-Adressen veröffentlicht. Seit dem 12. März 2026 hat der Eigentümer den Datensammel-Payload bei einigen Paketen durch eine schlichte “Hello, world!"-Meldung ersetzt. Endor Labs verweist auf das grundsätzliche Risiko von URL-Abhängigkeiten: Wenn Pakete auf außerhalb der npm-Registry gehosteten Code setzen, behalten die Autoren die volle Kontrolle über den Payload, ohne eine neue Paketversion zu veröffentlichen – und können das Verhalten aller abhängigen Pakete durch eine einzige Dateiänderung auf dem Server unbemerkt verändern oder deaktivieren.