TL;DR: GlassWorm is the first self-propagating worm aimed at VS Code extensions, with at least 35,800 confirmed compromised installations and credential theft across NPM, GitHub, and OpenVSX, according to Veracode Threat Research. The pattern shows supply chain compromise is now capable of autonomous spread inside developer tooling, which makes identity and update governance part of the attack surface, not just code review.
NHIMG editorial — based on content published by Veracode covering the GlassWorm VS Code extension worm: Oct 20, 2025 GlassWorm: The First Self-Propagating VS Code Extension Worm By Veracode Threat Research
By the numbers:
- When AWS credentials are exposed publicly, attackers attempt access within an average of 17 minutes and as quickly as 9 minutes in some cases.
Questions worth separating out
Q: What breaks when VS Code extensions can self-propagate through registry credentials?
A: The main failure is trust in the publishing identity.
Q: Why do developer toolchains create unusual NHI and secrets risk?
A: Developer toolchains connect multiple identity systems, package registries, and automation paths, so one token can unlock several downstream actions.
Q: What do security teams get wrong about extension review and code inspection?
A: They often assume human review can catch malicious intent before release.
Practitioner guidance
- Inventory and normalise extension content Scan VS Code extensions and related packages for invisible Unicode, Private Use Area characters, and other obfuscation tricks before approval.
- Lock down registry publishing identities Restrict NPM, GitHub, and OpenVSX publishing rights to short-lived, tightly scoped credentials with strong approval workflows.
- Rotate exposed developer credentials immediately If any affected extensions were installed, rotate NPM tokens, GitHub credentials, and related access tokens without waiting for user confirmation.
What's in the full article
Veracode's full article covers the operational detail this post intentionally leaves for the source:
- How the GlassWorm payload hides in Unicode and Private Use Area characters during review
- What the malicious extension does after installation, including token theft and propagation
- How the backup Google Calendar C2 path works in practice and why it evades simple blocking
- Which developer actions Veracode recommends for extension audits and credential rotation
👉 Read Veracode's analysis of the GlassWorm VS Code extension worm →
GlassWorm and VS Code extensions: are developer controls keeping up?
Explore further
Self-propagating supply chain malware turns developer credentials into propagation infrastructure. GlassWorm is not just another malicious extension. It shows that a single compromised publishing identity can become a distribution mechanism across registries and marketplaces. That shifts the control problem from detecting one bad artifact to governing the credentials that make artifact publication possible. For identity teams, the lesson is that registry tokens are non-human identities with blast radius, not mere API secrets.
A few things that frame the scale:
- The average estimated time to remediate a leaked secret is 27 days, despite 75% of organisations expressing strong confidence in their secrets management capabilities, according to The State of Secrets in AppSec.
- Only 44% of developers are reported to follow security best practices for secrets management, exposing a significant developer behaviour gap.
A question worth separating out:
Q: Which frameworks are most relevant when managing self-propagating supply chain worms?
A: MITRE ATT&CK helps map credential access, persistence, and lateral movement, while OWASP Non-Human Identity Top 10 highlights the governance of publishing tokens and registry credentials. Teams should align controls to both attack behaviour and identity lifecycle, not to code review alone.
👉 Read our full editorial: GlassWorm shows how self-propagating extension worms scale