GlassWorm Campaign Expands Through Malicious Open VSX Extensions
16 de Março de 2026, 09:22
![]()
GlassWorm Exploits Extension Relationships
The campaign abuses two extension manifest fields commonly used by open VSX extensions and compatible editors: extensionPack and extensionDependencies. These fields allow one extension to automatically install additional extensions when the primary extension is installed. Both settings are declared inside an extension’s package.json file and reference other extensions using the publisher.name identifier. In legitimate scenarios, this functionality provides convenience for developers. For example, extension packs can bundle multiple tools together so that a developer setting up a particular environment can install them all at once. A legitimate example cited in official documentation shows how a PHP development pack might bundle debugging and language tooling:{ "extensionPack": ["xdebug.php-debug", "zobo.php-intellisense"] }However, GlassWorm operators have repurposed this functionality to distribute malware indirectly through open VSX extensions. Because these manifest fields do not require extensions to share the same publisher or namespace, any extension author can reference any other extension. This design allows attackers to publish seemingly harmless extensions that later become indirect malware installers.
Transitive Delivery Expands the GlassWorm Attack Surface
Unlike earlier iterations where malicious code was embedded directly in extensions, the newer GlassWorm approach enables transitive malware delivery. A benign-looking extension can later be updated to include an extensionPack or extensionDependencies entry that installs a separate malicious extension. One confirmed example involves otoboss.autoimport-extension, where version 1.5.7 includes an extensionPack reference to oigotm.my-command-palette-extension, while version 1.5.6 references federicanc.dotenv-syntax-highlighting, which has been confirmed as GlassWorm-linked. Additional live cases were also identified, including:- twilkbilk.color-highlight-css
- crotoapp.vscode-xml-extension
Inflated Downloads and Impersonated Tools
Many of the malicious open VSX extensions in the GlassWorm campaign impersonate widely used developer tools to increase credibility. These include utilities such as linters, formatters, code runners, and language tools for frameworks, including Angular, Flutter, Python, and Vue. Other impersonated tools include:- vscode-icons
- WakaTime
- Better Comments
GlassWorm Loader Evolution and Infrastructure Changes
While the distribution method has evolved, the underlying GlassWorm loader retains several recognizable characteristics. The latest variants still rely on:- Staged JavaScript execution
- Russian locale and timezone geofencing
- Solana transaction memos used as dead drops
- In-memory follow-on code execution
- BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC
- 6YGcuyFRJKZtcaYCCFba9fScNUvPkGXodXE1mJiSzqDJ
- 45.32.151.157
- 70.34.242.255
- Continued use of the Solana memo program MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr
- Replacement of the earlier static AES-wrapped loader with heavier RC4, base64, and string-array obfuscation
- Relocation of decryption keys from the extension code into HTTP response headers, specifically ivbase64 and secretkey
- AES key: wDO6YyTm6DL0T0zJ0SXhUql5Mo0pdlSz
- AES IV: c4b9a3773e9dced6015a670855fd32b
