CybersecurityMarch 15, 202610 min read

GlassWorm's 72-Extension Attack: How Malicious VSX Packs Target Developers

SI

Secured Intel Team

Editor at Secured Intel

 GlassWorm's 72-Extension Attack: How Malicious VSX Packs Target Developers

Developer environments have become prime targets for sophisticated threat actors—and the numbers prove it. According to recent supply chain security research (2025), attacks targeting developer tooling increased by over 150% year-over-year, with Integrated Development Environment (IDE) extensions emerging as a particularly dangerous vector. The latest escalation of the GlassWorm campaign makes this threat impossible to ignore.

Security researchers have confirmed that GlassWorm actors now abuse 72 malicious Open VSX extensions, deploying a clever dependency-chaining technique that lets attackers hide malicious payloads inside seemingly trustworthy extensions. This isn't a simple malware drop—it's a calculated, patient strategy designed to bypass your instincts and your tooling.

This post breaks down exactly how GlassWorm's new wave operates, why the dependency-pack technique is so dangerous, and what your security team needs to do right now to protect developers and your codebase.


How GlassWorm's Dependency-Chaining Attack Works

Understanding the mechanics of this attack is the first step toward defending against it. GlassWorm has significantly evolved from earlier campaigns where each malicious extension carried its own embedded loader—a technique that became increasingly detectable.

The Trust-Building Phase

The campaign begins with patience. Threat actors publish extensions that appear legitimate, often filling real developer needs. These extensions accumulate installs, ratings, and community trust over weeks or months. Nothing malicious executes during this phase. Your security scanners find nothing. Your colleagues recommend the extension. You install it.

This deliberate trust-building separates GlassWorm from opportunistic malware distributors. The actor is playing a longer game.

The Dependency Injection Mechanism

Once an extension builds sufficient adoption, the actor leverages two Open VSX manifest features:

  • extensionPack: Bundles multiple extensions together, causing all listed extensions to install automatically when the parent is installed
  • extensionDependencies: Declares required extensions that the IDE pulls silently during installation or on update

When the actor pushes an update adding a malicious extension as a dependency or pack member, every existing user silently receives the malicious payload on the next IDE sync—without any new installation prompt or user confirmation.

Important: This means an extension you installed six months ago and trust completely can become a delivery vehicle for malware today, through nothing more than a routine update.

Obfuscation and Covert C2 Infrastructure

GlassWorm's technical sophistication extends well beyond the distribution mechanism. Researchers identified several evasion techniques active in this campaign:

  • Invisible Unicode characters embedded in source files to conceal payload strings from casual code review
  • Heavy multi-layer obfuscation that defeats static analysis tools not specifically tuned for JavaScript/TypeScript extension code
  • Solana blockchain transactions used as a covert Command and Control (C2) and update channel, making traditional network-based detection ineffective

Using a public blockchain as C2 is particularly clever. Blocking Solana RPC endpoints would break legitimate cryptocurrency and Web3 development workflows—exactly the kind of developer environment GlassWorm targets.


What GlassWorm Steals: The Scope of Developer Compromise

Security researchers have linked GlassWorm to a range of high-value theft objectives. The campaign doesn't just compromise a single machine—it targets the assets that developers uniquely possess.

Credentials, Source Code, and Cryptoassets

Confirmed GlassWorm payloads have been associated with three primary theft categories:

Theft CategoryTarget AssetsBusiness Impact
Credential harvestingSSH keys, API tokens, cloud credentials, git configsInfrastructure access, lateral movement
Source code exfiltrationLocal repos, staged commits, environment filesIP theft, secrets exposure
Crypto-wallet drainingBrowser wallet extensions, keystore filesDirect financial loss
Repository compromiseAt least 151 GitHub repos impactedSupply chain poisoning

The combination of credential theft and source code access creates a compounding risk. An attacker who steals both your AWS credentials and your infrastructure-as-code repository has everything needed to conduct a persistent, hard-to-detect intrusion.

Why Developers Are Exceptionally High-Value Targets

Developers sit at a uniquely privileged position within any organization's attack surface. Consider what a compromised developer workstation typically holds:

  • Production deployment credentials and CI/CD pipeline tokens
  • Access to internal Git repositories containing proprietary algorithms and business logic
  • Cloud provider credentials often scoped with broad permissions
  • Local copies of environment files containing database passwords and API secrets
  • SSH keys providing direct server access

Compromising one senior developer can yield more access than compromising ten standard user accounts. GlassWorm actors understand this calculus.


Comparing GlassWorm to Previous Extension-Based Attack Campaigns

GlassWorm represents a meaningful evolution in IDE-targeting threat actor tradecraft. Placing it in context helps security teams understand why existing defenses may be insufficient.

Table: Extension Attack Campaign Comparison

Campaign AttributeEarlier GlassWormCurrent GlassWorm WaveTypical Malicious Extension
Loader locationEmbedded in each extensionTransitive dependencyEmbedded directly
Detection difficultyModerateHighLow-Moderate
Trust bypass methodNoneBuild adoption firstNone
C2 channelTraditional networkSolana blockchainTraditional network
Update persistencePer-extensionCentralized via packPer-extension
ScaleLimited72+ extensionsVariable

The shift to centralized dependency injection means the actor only needs to maintain and update malicious payload extensions in one place, while hundreds or thousands of "clean" parent extensions serve as unwitting delivery vehicles.


Defensive Controls: Locking Down Your Developer Environment

The good news is that defenders have meaningful options. The key is layering technical controls with process-based verification.

Extension Source and Dependency Auditing

Start with a structured audit of your current extension inventory. Every developer workstation and CI/CD environment running an IDE should be included in this scope.

Recommended audit steps:

  1. Export a complete list of installed extensions from all developer IDEs
  2. Review each extension's extensionPack and extensionDependencies manifest entries
  3. Identify any extension that installs additional extensions as transitive dependencies
  4. Cross-reference against known-malicious extension lists published by threat intelligence sources
  5. Evaluate whether transitive dependencies were expected and documented

Pro Tip: Build extension auditing into your developer onboarding checklist and periodic security reviews. Treat IDE extensions with the same scrutiny you apply to open-source package dependencies.

Locking Extension Sources and Update Behavior

Organizations should implement policy controls governing where extensions can originate and when they update:

  • Allowlist approved extensions using your IDE's centralized policy management where available
  • Disable automatic extension updates in sensitive environments; gate updates through a review process
  • Mirror approved extensions in an internal registry rather than pulling directly from public marketplaces
  • Block or alert on new transitive dependency installations through endpoint monitoring

Monitoring for Compromise Indicators

Detection controls complement prevention. Configure monitoring to flag:

  • Unexpected network connections from IDE processes, particularly to blockchain RPC endpoints
  • Extensions accessing file paths outside typical project directories (SSH directories, wallet paths, git credential stores)
  • Obfuscated JavaScript execution spawned from IDE extension host processes
  • New extensions appearing on workstations without corresponding change tickets

Table: Detection Controls by Security Stack Layer

LayerControlWhat It Catches
EndpointEDR process tree monitoringExtension spawning suspicious child processes
NetworkDNS/proxy filteringC2 connections, blockchain RPC calls
IdentityCredential usage anomaly detectionStolen credential use post-exfiltration
SAST/Code ReviewSecret scanning in repositoriesSecrets committed from compromised workstations
Patch ManagementExtension version pinningUnauthorized dependency updates

Aligning Extension Security to Compliance and Frameworks

Security teams operating under compliance mandates have specific obligations this campaign implicates. Developer workstation security often falls into gray areas of compliance programs—GlassWorm is an argument for closing those gaps.

Relevant Framework Mappings

Under NIST SP 800-218 (Secure Software Development Framework), organizations should treat developer tooling as part of the protected development environment, requiring integrity verification of build and development tools.

MITRE ATT&CK covers relevant techniques including T1195 (Supply Chain Compromise), T1176 (Browser Extensions—applicable by analogy to IDE extensions), and T1027 (Obfuscated Files or Information).

Compliance programs with direct relevance include:

  • SOC 2: Developer workstation security controls fall under the Logical Access and Change Management criteria
  • ISO 27001: Asset management and software installation controls (Annex A.8) apply to extension governance
  • PCI DSS v4.0: Requirement 6 (Secure Systems and Software) encompasses developer environment integrity where cardholder data systems are developed internally

Key Takeaways

  • Audit your extension dependency graphs immediately—a trusted extension can become malicious through a single update adding a transitive dependency
  • Disable automatic extension updates in production development environments and gate updates through a security review process
  • Monitor IDE processes for anomalous network behavior, particularly connections to blockchain RPC endpoints associated with Solana
  • Treat developer workstations as high-value targets deserving endpoint controls equivalent to those protecting privileged administrative systems
  • Implement an approved extension allowlist and enforce it through policy rather than relying on developer discretion alone
  • Include extension manifests in code review scope for any internally developed IDE extensions your organization maintains

Conclusion

GlassWorm's 72-extension campaign represents a genuine escalation in the sophistication of supply chain attacks targeting developers. By separating the trust-building phase from the payload delivery phase, and by weaponizing legitimate IDE dependency mechanisms, the campaign bypasses both automated scanning and human intuition.

The 151+ compromised GitHub repositories already attributed to this campaign illustrate that the blast radius extends far beyond individual developer machines. A single compromised developer can become the entry point for broader infrastructure access, source code theft, and downstream supply chain poisoning.

Defending against this threat requires treating IDE extension governance as a first-class security concern—not an afterthought. Start with an audit of your installed extension dependency graphs this week, implement update controls, and build extension security into your developer security awareness program.


Frequently Asked Questions

Q: What is GlassWorm and why is it targeting developers? A: GlassWorm is a threat actor campaign specifically targeting software developers through malicious IDE extensions distributed via the Open VSX marketplace. Developers are targeted because their workstations hold exceptionally high-value assets including source code, deployment credentials, API tokens, and cloud access—making a single compromised developer account potentially worth more to attackers than many standard user accounts.

Q: How does the extensionPack dependency attack differ from a standard malicious extension? A: In a standard malicious extension attack, the malicious code is embedded directly in the extension you install. The extensionPack and extensionDependencies technique separates the delivery vehicle from the payload entirely. You install a clean, legitimate-looking extension, and a future update to that extension's manifest silently pulls in a malicious dependency—without requiring any new action on your part.

Q: Why is Solana being used as a C2 channel, and how do I detect it? A: Solana blockchain transactions provide a censorship-resistant, publicly accessible communication channel that bypasses traditional network-based C2 detection. Because Solana RPC traffic resembles legitimate Web3 development activity, blocking it is difficult without breaking developer workflows. Detection should focus on process-level monitoring—flagging IDE extension host processes initiating unexpected connections to blockchain RPC endpoints rather than attempting to block the protocol entirely.

Q: Which developer environments and operating systems are at risk? A: Any developer environment that supports Open VSX extensions is potentially at risk, including VS Code, VSCodium, and other Open VSX-compatible editors across Windows, macOS, and Linux. The risk is not limited to a specific operating system—the attack operates at the extension layer above the OS.

Q: What should I do if I suspect my environment is already compromised? A: Immediately isolate the affected workstation from your network and revoke all credentials that may have been accessible from that machine—this includes SSH keys, API tokens, cloud credentials, and git authentication tokens. Conduct a forensic review of recently accessed files and outbound network connections from the IDE process. Report the incident to your security team and review whether any code committed from that workstation may have introduced unauthorized changes to your repositories.

Secured Intel

Enjoyed this article?

Subscribe for more cybersecurity insights.

Subscribe Free