Published Product3 min read
Dependency confusion moves into the editor: extension packs that point at nothing
Bloom Security found 771 extension packs on the VS Code Marketplace and Open VSX that reference extensions which do not exist.
Not a builder's beat, but builders have a standing stake in it.See today for builders

What happened
- Bloom Security's "Extension Resurrection" research examined extension packs on the Visual Studio Code Marketplace and Open VSX and found that legitimate packs could contain references to extensions that did not actually exist on the marketplace.
- Nonexistent referenced extensions created an opportunity for attackers to claim those unused namespaces and publish malicious extensions under them.
- The attack does not depend on convincing a developer to install an unfamiliar extension; the developer has already made a trust decision by installing a legitimate extension pack, and that decision can extend to multiple dependencies the user may never examine individually. Malicious extensions would install automatically through the trusted pack.
- On the VS Code Marketplace, Bloom found 677 of 4,179 packs with at least one Shadow Dependency.
- On Open VSX, Bloom identified 94 of 321 extension packs with at least one Shadow Dependency.
Compiled by The Product DeskSomething wrong?How this is made
Why it matters
Bloom Security has published research it calls "Extension Resurrection" showing that legitimate extension packs on the Visual Studio Code Marketplace and Open VSX can declare dependencies that do not exist on the marketplace, leaving the namespace free for someone else to register and publish under [1][2]. That matters because the install is automatic: the developer made one trust decision, at the pack, and the pack pulls whatever later occupies the empty slot [3].
The counts: 677 of 4,179 VS Code packs and 94 of 321 Open VSX packs carried at least one of what Bloom calls a Shadow Dependency [4][5]. That is roughly 16 percent of VS Code packs and 29 percent of Open VSX packs, 771 of 4,500 in total [1][2][3]. Combined downloads across the vulnerable packs exceeded 500,000 [6], which averages to at least about 650 downloads per affected pack [4]. This is a long tail, not a handful of fat targets.
The mechanism is the one build engineers learned to fear from package registries, relocated one layer up into the IDE. Two conditions had to hold at once, according to Bloom: marketplaces accepted packs referencing extensions that did not exist, and namespaces referenced by existing software remained available for registration [7]. Packs do not pin their bundled extensions to specific versions [8], so a pack installed weeks, months or years ago can acquire a newly published version of a previously missing dependency through the update path [9]. Nothing has to be installed today for an organisation to be exposed.
What would run is not sandboxed script. Bloom says VS Code extensions, and extensions on compatible IDEs including Cursor, Kiro, Windsurf, Antigravity, VSCodium and Eclipse Theia, run with Node.js host access [10], meaning they can read and write files, spawn child processes and make outbound network requests [11]. That is the same authority as the developer running the editor.
On disclosure: Bloom reported the Open VSX issue to the Eclipse Foundation on February 5, 2026, and says the team moved quickly to protect at-risk namespaces and add checks for nonexistent extensions and dependencies [12]. Bloom reported to Microsoft on February 17 [13]. Microsoft initially rated it Moderate and reopened the case after Bloom supplied more evidence [14], then confirmed protections were implemented in stages, with administrator-action protections dating to October 2025 and user-action protections completed in June 2026 [15]. Read the dates carefully: the administrator-side control predates Bloom's report by about four months [5], and the user-side work finished roughly four months after it [6]. The severity argument, not the engineering, appears to have been the slow part.
The scope also is not limited to packs. During the investigation Bloom found that Open VSX extension dependencies declared in manifests could be exposed to the same underlying problem [16].
Worth watching: whether either marketplace now rejects a pack at publish time when a referenced extension is missing, and whether referenced namespaces are permanently reserved rather than merely protected while at risk [7]. For anyone running an editor fleet, the practical question is inventory. A pack installed years ago is a standing grant of install permission [9], and none of the vendor fixes retroactively tell you which of your machines took delivery.
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Bloom Security's "Extension Resurrection" research examined extension packs on the Visual Studio Code Marketplace and Open VSX and found that legitimate packs could contain references to extensions that did not actually exist on the marketplace.
- [2]
Nonexistent referenced extensions created an opportunity for attackers to claim those unused namespaces and publish malicious extensions under them.
- [3]
The attack does not depend on convincing a developer to install an unfamiliar extension; the developer has already made a trust decision by installing a legitimate extension pack, and that decision can extend to multiple dependencies the user may never examine individually. Malicious extensions would install automatically through the trusted pack.
- [4]
On the VS Code Marketplace, Bloom found 677 of 4,179 packs with at least one Shadow Dependency.
- [5]
On Open VSX, Bloom identified 94 of 321 extension packs with at least one Shadow Dependency.
- [6]
Across the vulnerable packs, combined downloads exceeded 500,000.
Sources & coverage · 1 publisher
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- thenextweb.comKolawole Samuel AdebayoAug 13Bloom Security’s Extension Resurrection research exposes a blind spot in developer security
Cited in this coverage: Bloom Security, reported by thenextweb.com
Additional citations
- Bloom Security
- Microsoft, via Bloom Security



