<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ishaan Agrawal</title>
    <description>The latest articles on DEV Community by Ishaan Agrawal (@ishaan_agrawal).</description>
    <link>https://dev.to/ishaan_agrawal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3297890%2F624d6ae4-5cf2-4c24-aca2-e9ac4626ebcb.png</url>
      <title>DEV Community: Ishaan Agrawal</title>
      <link>https://dev.to/ishaan_agrawal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ishaan_agrawal"/>
    <language>en</language>
    <item>
      <title>Fable 5 Released and Suddenly I’m Much More Paranoid About My VSCode Extensions</title>
      <dc:creator>Ishaan Agrawal</dc:creator>
      <pubDate>Fri, 12 Jun 2026 22:30:10 +0000</pubDate>
      <link>https://dev.to/ishaan_agrawal/fable-5-dropped-and-im-suddenly-a-lot-more-paranoid-about-my-vs-code-extensions-iin</link>
      <guid>https://dev.to/ishaan_agrawal/fable-5-dropped-and-im-suddenly-a-lot-more-paranoid-about-my-vs-code-extensions-iin</guid>
      <description>&lt;p&gt;Three days ago, Anthropic released Claude Fable 5 — their first publicly available Mythos-class model, sitting above the entire Opus tier. It benchmarks over 10% better than Opus 4.8 on some coding tasks, ships with a 1M context window by default, and is built specifically for multi-agent workflows. Planning, sub-agent delegation, long-running autonomous execution.&lt;/p&gt;

&lt;p&gt;It's available in VS Code right now via Claude Code and a growing list of extensions.&lt;/p&gt;

&lt;p&gt;And that's what's been on my mind since Tuesday.&lt;/p&gt;




&lt;h2&gt;
  
  
  What AI Agents Actually Mean for Your Editor
&lt;/h2&gt;

&lt;p&gt;For years, AI in your editor was passive. Copilot finishes a line, you tab or you don't. A chatbot drafts a function, you paste it in or you don't. You were always the one making the call.&lt;/p&gt;

&lt;p&gt;That's not what agentic AI is.&lt;/p&gt;

&lt;p&gt;Fable 5 is designed to open files, run terminal commands, make network calls, modify your workspace, and coordinate across tools — with minimal input from you. Anthropic literally describes it as built for "multi-day execution with minimal human involvement." In VS Code, that means an AI extension can now read your entire codebase, spawn processes, hit external APIs, and talk to other extensions and MCP-connected tools.&lt;/p&gt;

&lt;p&gt;None of this is hypothetical. Amazon Q's VS Code extension was hijacked through a malicious GitHub pull request that ordered it to wipe the local filesystem and AWS resources. Replit's coding agent deleted a production database — over 1,200 records — during a code freeze. Not bugs in the AI itself. Compromised infrastructure around it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The MCP Problem
&lt;/h2&gt;

&lt;p&gt;Fable 5 arrives with deep MCP integration — the protocol that lets AI agents connect to external tools, databases, and services from inside your editor. It's genuinely useful. It's also an attack surface that most developers aren't thinking about yet.&lt;/p&gt;

&lt;p&gt;The specific thing researchers are worried about is tool poisoning. A malicious MCP server hides instructions inside tool descriptions — the text that tells an agent what a tool does. The model reads those descriptions and follows them, the same way it follows your prompts. No code exploit needed. It just loads into the agent's context and runs silently on every invocation, for every user, until someone notices something is off.&lt;/p&gt;

&lt;p&gt;The numbers aren't great: 43% of public MCP servers have at least one vulnerability, and 5.5% already have poisoned tool descriptions in the wild. In May, OX Security disclosed a specific issue where the official MCP SDK's local transport could be exploited through VS Code, Cursor, Claude Code, and others. Anthropic confirmed it was by design and said sanitization is on developers to handle.&lt;/p&gt;

&lt;p&gt;So the security model for AI agents in your editor is, right now, largely on you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Changes the Extension Risk Equation
&lt;/h2&gt;

&lt;p&gt;Before agents, a sketchy VS Code extension had to actively do something bad — phone home, harvest credentials, mine crypto. Behaviors you could look for, that static analysis could catch.&lt;/p&gt;

&lt;p&gt;Agent extensions flip that. An extension that looks completely clean can install an MCP server with poisoned tool descriptions, then sit there and wait for you to use an AI agent that has real permissions in your environment. The extension doesn't do anything malicious itself. It just influences something that does.&lt;/p&gt;

&lt;p&gt;That's a much harder thing to catch by looking at star counts and download numbers.&lt;/p&gt;




&lt;h2&gt;
  
  
  What to Actually Check in 2026
&lt;/h2&gt;

&lt;p&gt;The basics still apply — verified publisher, active repo, recent commits. But there are a few new things worth looking at before installing any AI agent extension or MCP server.&lt;/p&gt;

&lt;p&gt;Check what MCP servers the extension installs or connects to, and whether those servers' tool descriptions are readable and match their stated purpose. If descriptions are loaded dynamically from a remote source you can't inspect, that's worth knowing. Also worth checking: is the extension connecting your agent to remote servers you didn't explicitly approve?&lt;/p&gt;

&lt;p&gt;And if you're upgrading to Fable 5 or enabling Claude Code in a workspace where you already have a bunch of extensions installed, that's a good moment to do a full audit. The permissions your existing extensions effectively have just increased.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;VSCan&lt;/a&gt; covers the fundamentals — dependency vulnerabilities, permissions analysis, publisher signals. As agent extensions keep multiplying, running a check before you install is going to matter more, not less.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Pattern Is Familiar
&lt;/h2&gt;

&lt;p&gt;This has happened before. npm became ubiquitous, developers installed packages without much scrutiny, supply chain attacks followed. Browser extensions got powerful, people installed them casually, malicious ones followed. AI agent extensions are the same pattern — just with higher stakes, because the tools are more capable and the access is broader.&lt;/p&gt;

&lt;p&gt;Anthropic built real safeguards into Fable 5 to block high-risk outputs in cybersecurity and other sensitive areas. Those safeguards are meaningful. They're also not a substitute for being thoughtful about what extensions you have in your editor and what MCP infrastructure they're connecting to.&lt;/p&gt;

&lt;p&gt;Fable 5 is a genuinely impressive model. Autonomous multi-step execution, native VS Code integration, frontier reasoning — it's a real capability jump. It's also a good reminder that your editor is only as trustworthy as what's running inside it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Before installing AI agent extensions, run a quick check. &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;VSCan&lt;/a&gt; scans VS Code extensions for permission risks, dependency vulnerabilities, and security flags.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>ai</category>
      <category>cybersecurity</category>
      <category>claude</category>
    </item>
    <item>
      <title>How to Actually Check if a VS Code Extension is Safe Before You Install It</title>
      <dc:creator>Ishaan Agrawal</dc:creator>
      <pubDate>Fri, 12 Jun 2026 02:54:53 +0000</pubDate>
      <link>https://dev.to/ishaan_agrawal/how-to-actually-check-if-a-vs-code-extension-is-safe-before-you-install-it-3pal</link>
      <guid>https://dev.to/ishaan_agrawal/how-to-actually-check-if-a-vs-code-extension-is-safe-before-you-install-it-3pal</guid>
      <description>&lt;p&gt;You're about to install a VS Code extension. Maybe it's a formatter, a linter, a theme, an AI tool. You search, you find it, it has decent reviews. You click Install.&lt;/p&gt;

&lt;p&gt;But here's what you probably didn't check — and what almost nobody does.&lt;/p&gt;




&lt;h2&gt;
  
  
  What VS Code Extensions Can Actually Do
&lt;/h2&gt;

&lt;p&gt;Before we get into how to evaluate one, it's worth being clear about what you're giving permission for. VS Code extensions run with full access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your filesystem&lt;/strong&gt; — read, write, delete&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your environment variables&lt;/strong&gt; — including secrets, tokens, and credentials your shell exposes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network connections&lt;/strong&gt; — outbound requests to anywhere&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Child processes&lt;/strong&gt; — spawning terminals, shell commands, background workers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Other extensions&lt;/strong&gt; — via the extension API
There is no sandbox. When you install an extension, you're running code with your own user permissions. The same permissions that can push to your git repos, read your &lt;code&gt;.env&lt;/code&gt; files, and access your SSH keys.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't hypothetical. Extensions with millions of installs have been caught doing exactly these things.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Checklist Most Developers Skip
&lt;/h2&gt;

&lt;p&gt;Here's what a 60-second review actually looks like:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Look at the publisher, not just the extension name
&lt;/h3&gt;

&lt;p&gt;Anyone can publish to the VS Code Marketplace. The publisher ID is the only stable identifier — the display name can be anything, and typosquatting is real. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the publisher verified (blue checkmark)?&lt;/li&gt;
&lt;li&gt;Does the publisher have other extensions, a website, a GitHub presence?&lt;/li&gt;
&lt;li&gt;Does the publisher name look like a real organization or a random string?
Legitimate extensions from major companies (Microsoft, Prettier, ESLint) will have recognizable, verified publishers. A one-off extension with a publisher ID like &lt;code&gt;devtools-pro-2024&lt;/code&gt; is worth extra scrutiny.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Check when it was last updated
&lt;/h3&gt;

&lt;p&gt;An extension that hasn't been touched in 2+ years is a supply chain risk waiting to happen. Old dependencies, unmaintained code, and abandoned repos are exactly how attackers get in — either by compromising the account or injecting into a dependency.&lt;/p&gt;

&lt;p&gt;Look at the "Last Updated" date on the Marketplace listing. Then open the GitHub repo (if it exists) and check the actual commit history. Sometimes the Marketplace listing shows a recent publish date that just reflects an automated re-publish, not real maintenance.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Look at the &lt;code&gt;package.json&lt;/code&gt; permissions before installing
&lt;/h3&gt;

&lt;p&gt;Every extension declares what it can do in its &lt;code&gt;package.json&lt;/code&gt;. You can find this in the source repo. Look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;activationEvents&lt;/code&gt; — when does this extension activate? &lt;code&gt;*&lt;/code&gt; means it runs on every file you open.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;contributes.commands&lt;/code&gt; — what commands does it register?&lt;/li&gt;
&lt;li&gt;Any explicit permission requests
An extension that activates on &lt;code&gt;*&lt;/code&gt; and makes network calls is doing something the moment you open VS Code, before you've even used it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Grep the source for network calls
&lt;/h3&gt;

&lt;p&gt;This takes 2 minutes if there's a public repo. Clone it or browse it on GitHub and look for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="nx"&gt;axios&lt;/span&gt;
&lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;
&lt;span class="nx"&gt;https&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;
&lt;span class="nx"&gt;xhr&lt;/span&gt;
&lt;span class="nx"&gt;WebSocket&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Are those calls going to localhost, or to an external server? What data is in the request body? A linter that phones home is a red flag. A language server that connects to a known service is expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Check the dependencies
&lt;/h3&gt;

&lt;p&gt;The extension's own code might be clean. Its dependencies might not be. Look at the &lt;code&gt;package.json&lt;/code&gt; for third-party packages, then check them against known vulnerability databases. A single compromised npm package can turn a legitimate extension malicious overnight — this is exactly how supply chain attacks work.&lt;/p&gt;

&lt;p&gt;This is tedious to do manually. Tools like &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;VSCan&lt;/a&gt; automate it — paste in an extension ID and get a report on permissions, dependency vulnerabilities, and behavioral flags in seconds.&lt;/p&gt;




&lt;h2&gt;
  
  
  Red Flags That Should Make You Pause
&lt;/h2&gt;

&lt;p&gt;Not all of these are disqualifying, but each one deserves a second look:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No public source code.&lt;/strong&gt; If there's no GitHub repo (or the repo is empty), you can't verify what the extension does. This alone should give you pause.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Downloads don't match the repo activity.&lt;/strong&gt; 500k downloads but 3 GitHub stars and no commit activity? Something is off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vague description.&lt;/strong&gt; Malicious extensions often have generic, copy-pasted descriptions that don't clearly explain what the extension does.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requested permissions don't match the stated purpose.&lt;/strong&gt; A Markdown preview extension shouldn't need to run child processes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recently transferred ownership.&lt;/strong&gt; Extensions sometimes get sold. New owners inherit the install base and can push updates. Check the publisher history if you can.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Specific Extensions Worth Auditing Right Now
&lt;/h2&gt;

&lt;p&gt;Some of the most dangerous extensions are the popular ones, because they're the ones attackers target. If you have any of these installed, it's worth running a quick check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extensions you installed years ago and forgot about&lt;/li&gt;
&lt;li&gt;Extensions that haven't been updated recently&lt;/li&gt;
&lt;li&gt;Any extension with a name very similar to a well-known one (check the publisher ID carefully)&lt;/li&gt;
&lt;li&gt;AI coding assistants that have broad filesystem and network access by design
The "is [specific extension] safe" question is one of the most common things developers search for — and the answer is almost never a simple yes or no. It depends on the version, the publisher's current situation, and the state of its dependencies at any given moment.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  A Practical Workflow
&lt;/h2&gt;

&lt;p&gt;Before installing any new extension:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check the publisher is verified or well-known&lt;/li&gt;
&lt;li&gt;Open the GitHub repo, confirm it's active&lt;/li&gt;
&lt;li&gt;Check the dependency list manually&lt;/li&gt;
&lt;li&gt;Look at what events trigger activation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Or do everything automatically through &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;VSCan&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every quarter or so, do a pass over your installed extensions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# List all installed extensions&lt;/span&gt;
code &lt;span class="nt"&gt;--list-extensions&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For anything you don't recognize or haven't used recently: uninstall first, reinstall if you actually need it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters More Than It Used to
&lt;/h2&gt;

&lt;p&gt;A year ago, the threat model for developer tools was mostly theoretical. It's not anymore.&lt;/p&gt;

&lt;p&gt;We've seen self-propagating worms targeting VS Code extensions. We've seen extensions with millions of downloads caught harvesting credentials. Microsoft's own telemetry has flagged thousands of extensions with suspicious behaviors.&lt;/p&gt;

&lt;p&gt;The attack surface is your entire development environment — your code, your credentials, your git history, your cloud provider tokens. Developers are high-value targets precisely because of what they have access to.&lt;/p&gt;

&lt;p&gt;The VS Code Marketplace is not curated the way the iOS App Store is. It's closer to npm: anyone can publish, automated scanning catches some things but not everything, and you're largely responsible for what you run.&lt;/p&gt;

&lt;p&gt;That's not a reason to avoid extensions. It's a reason to take 60 seconds before you click Install.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Check your extensions at &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;vscan.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>vscode</category>
      <category>cybersecurity</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Concerning Amounts of Malware in the VS Code Marketplace: What Microsoft’s Own Logs Reveal</title>
      <dc:creator>Ishaan Agrawal</dc:creator>
      <pubDate>Fri, 09 Jan 2026 02:45:18 +0000</pubDate>
      <link>https://dev.to/ishaan_agrawal/vs-codes-unhinged-malware-problem-what-microsofts-own-logs-reveal-5e1p</link>
      <guid>https://dev.to/ishaan_agrawal/vs-codes-unhinged-malware-problem-what-microsofts-own-logs-reveal-5e1p</guid>
      <description>&lt;p&gt;If you are like me, your VS Code setup is a carefully curated collection of themes, linters, and productivity boosters. We trust the Visual Studio Marketplace to be a safe haven for tools that make our lives easier. But if you take a look under the hood at what is actually getting removed from the platform, the picture gets a lot uglier.&lt;/p&gt;

&lt;p&gt;I recently went down a rabbit hole looking at the official list of &lt;a href="https://github.com/microsoft/vsmarketplace/blob/main/RemovedPackages.md" rel="noopener noreferrer"&gt;removed extensions&lt;/a&gt; on GitHub, and it is a wake-up call for anyone who blindly clicks "Install."&lt;/p&gt;

&lt;h3&gt;
  
  
  The "Install First, Ask Questions Later" Problem
&lt;/h3&gt;

&lt;p&gt;The way the Marketplace works is fundamentally based on a reactive model. Microsoft does have automated scans, but a staggering amount of malicious code only gets taken down &lt;strong&gt;after&lt;/strong&gt; it has already been published and downloaded by unsuspecting developers.&lt;/p&gt;

&lt;p&gt;When you look at the logs of removed extensions, you see a constant stream of entries flagged for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Credential Theft:&lt;/strong&gt; Extensions designed to scrape your &lt;code&gt;.env&lt;/code&gt; files or SSH keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typosquatting:&lt;/strong&gt; Malicious clones of popular extensions like Prettier or ESLint that hope you won't notice a tiny misspelling in the name.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote Access:&lt;/strong&gt; Plugins that open backdoors into your development environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why This Matters to You
&lt;/h3&gt;

&lt;p&gt;As developers, our machines are high-value targets. We have access to production servers, API keys, proprietary source code, and personal data. A single malicious extension has the same permissions as you do. It can read your files, track your keystrokes, and send your data to a remote server without you ever seeing a popup.&lt;/p&gt;

&lt;p&gt;The scary part isn't just that these extensions exist. It is that they are actively making it onto the store, staying there for days or weeks, and only getting purged after the damage might already be done. &lt;/p&gt;

&lt;h3&gt;
  
  
  How to Protect Your Workflow
&lt;/h3&gt;

&lt;p&gt;You don't have to stop using extensions, but you do need to stop treating the Marketplace like a curated app store where everything is vetted. Here is how I have changed my approach:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Check the Publisher:&lt;/strong&gt; Look for the "Verified" checkmark. If a popular tool is being published by a random account with no history, stay away.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify the Numbers:&lt;/strong&gt; If an extension claims to be a popular tool but only has 500 downloads while the real one has 5 million, you are looking at a typosquatting attempt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit Your List:&lt;/strong&gt; Every few months, go through your installed extensions. If something hasn't been updated in years, maybe double-check its safety.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do a Deeper Scan:&lt;/strong&gt; Since we know malicious code can bypass basic store filters, you need a more aggressive way to vet what you are installing. I suggest using a VS Code extension security analyzer. It will perform a deep security assessment by looking for obfuscated code, hidden network connections, and dangerous dependencies that standard checks often miss. That will give you a clear risk report before you let the code touch your machine.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;The VS Code Marketplace is an incredible resource, but we have to stop assuming it is inherently safe. The "Removed Packages" list is proof that malware is constantly slipping through the cracks. &lt;/p&gt;

&lt;p&gt;Take five minutes today to look at what you have installed. It is much better to spend a few minutes auditing your setup now than to spend a week dealing with a compromised machine later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's your take? Do you check the credentials of every extension you install, or do you just hit install and hope for the best?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>productivity</category>
      <category>programming</category>
      <category>backend</category>
    </item>
    <item>
      <title>🚨BREAKING: A Self-Propagating Worm Is Hitting VSCode Extensions Right Now— Here’s How to Protect Yourself</title>
      <dc:creator>Ishaan Agrawal</dc:creator>
      <pubDate>Mon, 20 Oct 2025 00:03:45 +0000</pubDate>
      <link>https://dev.to/ishaan_agrawal/urgent-a-self-propagating-worm-is-hitting-vscode-extensions-right-now-heres-how-to-protect-3pdo</link>
      <guid>https://dev.to/ishaan_agrawal/urgent-a-self-propagating-worm-is-hitting-vscode-extensions-right-now-heres-how-to-protect-3pdo</guid>
      <description>&lt;p&gt;Hey everyone, this is a quick but urgent post. A new, highly sophisticated worm is actively targeting developers on both the &lt;strong&gt;VSCode and OpenVSX marketplaces&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's called &lt;strong&gt;"Glassworm,"&lt;/strong&gt; and you need to know about it.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Glassworm?
&lt;/h3&gt;

&lt;p&gt;This isn't your typical malware. According to a &lt;a href="https://www.koi.ai/incident/live-updates-glassworm-first-self-propagating-worm-using-invisible-code-hits-openvsx-and-vscode-marketplaces" rel="noopener noreferrer"&gt;new incident report&lt;/a&gt;, Glassworm is the first self-propagating worm to use &lt;strong&gt;invisible Unicode characters&lt;/strong&gt; to hide its malicious code.&lt;/p&gt;

&lt;p&gt;This means the malicious parts of the code can be completely invisible during a standard code review, making it incredibly stealthy and dangerous.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Is So Dangerous
&lt;/h3&gt;

&lt;p&gt;When an infected extension is installed, it's a full-blown disaster. The worm is a Remote Access Trojan (RAT) that immediately gets to work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Steals Credentials:&lt;/strong&gt; It harvests your NPM, GitHub, and Git credentials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spreads Itself:&lt;/strong&gt; It &lt;em&gt;uses&lt;/em&gt; those stolen credentials to infect other packages and extensions you have access to, just like a true worm.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drains Wallets:&lt;/strong&gt; It actively targets 49 different cryptocurrency wallet extensions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hijacks Your Machine:&lt;/strong&gt; It deploys SOCKS proxies (turning your dev box into a criminal proxy) and installs a hidden VNC for full remote access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To make matters worse, its command-and-control server is reportedly blockchain-based, making it extremely difficult to shut down.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Protect Yourself RIGHT NOW
&lt;/h3&gt;

&lt;p&gt;We all install extensions—themes, linters, snippets. We trust them. But this incident proves we can't be complacent. The most immediate action you can take is to &lt;strong&gt;scan your extensions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A fantastic (and free) tool for this is &lt;strong&gt;&lt;a href="https://vscan.dev/" rel="noopener noreferrer"&gt;vscan.dev&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's a security analyzer built specifically for VS Code extensions. You can paste in the name of an extension, and it will run a deep analysis of its code, permissions, dependencies, and network activity &lt;em&gt;before&lt;/em&gt; you install it. It's designed to catch exactly this kind of suspicious behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your New Security Workflow (Starting Today)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Audit Your Current Extensions:&lt;/strong&gt; Go to &lt;strong&gt;&lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;vscan.dev&lt;/a&gt;&lt;/strong&gt; and check the extensions you &lt;em&gt;already have installed&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Scan Before You Install:&lt;/strong&gt; Make this a new habit. Before you click "Install" on any new extension, run it through &lt;code&gt;vscan.dev&lt;/code&gt; first.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Review the Report:&lt;/strong&gt; Look for red flags like dangerous API usage, suspicious network connections, or vulnerable dependencies.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is an active, ongoing threat. Don't assume your editor is safe. Take 10 minutes, scan your tools, and stay vigilant.&lt;/p&gt;

&lt;p&gt;Stay safe out there.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>security</category>
      <category>software</category>
      <category>programming</category>
    </item>
    <item>
      <title>Are Your VSCode Extensions Safe? The Risk We Don’t Talk About</title>
      <dc:creator>Ishaan Agrawal</dc:creator>
      <pubDate>Mon, 15 Sep 2025 01:58:47 +0000</pubDate>
      <link>https://dev.to/ishaan_agrawal/are-your-vscode-extensions-safe-the-risk-we-dont-talk-about-1lc</link>
      <guid>https://dev.to/ishaan_agrawal/are-your-vscode-extensions-safe-the-risk-we-dont-talk-about-1lc</guid>
      <description>&lt;p&gt;Every developer I know has the same ritual:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open VSCode.&lt;/li&gt;
&lt;li&gt;Search for an extension that solves the problem at hand.&lt;/li&gt;
&lt;li&gt;Click &lt;em&gt;Install&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Done. Back to coding.&lt;/p&gt;

&lt;p&gt;It feels harmless — almost routine. But every click gives &lt;em&gt;someone else’s code&lt;/em&gt; permission to run inside your editor. And sometimes, that trust is misplaced.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Quiet Problem with Extensions
&lt;/h2&gt;

&lt;p&gt;VSCode extensions aren’t sandboxed little toys. They can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read and write files in your workspace.&lt;/li&gt;
&lt;li&gt;Spawn background processes.&lt;/li&gt;
&lt;li&gt;Send data over the network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the scary part? Even a “safe-looking” extension can turn risky overnight if the maintainer sells it or if a dependency gets compromised. Supply-chain attacks thrive in exactly these blind spots.&lt;/p&gt;

&lt;p&gt;We’ve already seen examples where extensions with &lt;strong&gt;millions of downloads&lt;/strong&gt; were caught doing shady things: crypto-mining, credential harvesting, injecting ads. Most of them looked legitimate until someone finally dug into the code.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why We Rarely Notice
&lt;/h2&gt;

&lt;p&gt;The VSCode Marketplace gives us stars, reviews, and download counts — but none of that says anything about what’s happening under the hood. A theme extension with ten lines of CSS might still request filesystem access. A linter might quietly collect telemetry.&lt;/p&gt;

&lt;p&gt;And honestly, most of us never read the manifest or source before installing. We just trust the numbers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tools That Help Us See
&lt;/h2&gt;

&lt;p&gt;That’s why security analyzers for extensions matter. &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;&lt;strong&gt;VSCan&lt;/strong&gt;&lt;/a&gt; is one example — it scans VSCode extensions and highlights things developers often miss:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overly broad permissions.&lt;/li&gt;
&lt;li&gt;Vulnerable or outdated dependencies.&lt;/li&gt;
&lt;li&gt;Privacy or security concerns.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It generates a clear report so you can make an informed decision before hitting &lt;em&gt;Install&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Better Habit
&lt;/h2&gt;

&lt;p&gt;We’ve normalized running &lt;code&gt;npm audit&lt;/code&gt; or checking Docker images for CVEs. Why not treat our editor the same way?&lt;/p&gt;

&lt;p&gt;Next time you’re about to install that shiny “Markdown Preview Ultra++” plugin, pause. Ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does it really need the permissions it’s asking for?&lt;/li&gt;
&lt;li&gt;Who maintains it, and how active is the repo?&lt;/li&gt;
&lt;li&gt;Has anyone looked at its dependencies lately?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you want a quick head start, running it through a tool like VSCan takes seconds.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing Thought
&lt;/h2&gt;

&lt;p&gt;The extensions we install aren’t just productivity boosters — they’re part of our attack surface. The sooner we treat them that way, the safer our workflows will be.&lt;/p&gt;

&lt;p&gt;So maybe the next time you hit &lt;em&gt;Install&lt;/em&gt;, don’t just look at the stars. Take a peek under the hood.&lt;/p&gt;

&lt;p&gt;👉 Try scanning your extensions: &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;vscan.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>security</category>
      <category>productivity</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>VSCode Extensions are Malicious—Here's What I Found After Scanning 1,000 of Them</title>
      <dc:creator>Ishaan Agrawal</dc:creator>
      <pubDate>Thu, 26 Jun 2025 20:03:47 +0000</pubDate>
      <link>https://dev.to/ishaan_agrawal/many-vscode-extensions-are-malicious-heres-what-i-found-after-scanning-1000-of-them-5ane</link>
      <guid>https://dev.to/ishaan_agrawal/many-vscode-extensions-are-malicious-heres-what-i-found-after-scanning-1000-of-them-5ane</guid>
      <description>&lt;p&gt;When you're browsing the web, you wouldn't download random files from untrusted sources.&lt;/p&gt;

&lt;p&gt;So why are we so comfortable installing random Visual Studio Code extensions—without knowing what they do under the hood?&lt;/p&gt;

&lt;p&gt;Visual Studio Code extensions run with &lt;strong&gt;full access to your machine&lt;/strong&gt;. That includes your file system, network, terminal, and even your credentials.&lt;/p&gt;

&lt;p&gt;And here's the catch: there's no sandbox, no permissions model, and no built-in validation to stop them from going rogue.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hidden Risk in Everyday Development
&lt;/h2&gt;

&lt;p&gt;VSCode is the most widely used code editor in the world, with over 14 million developers relying on it monthly and controlling roughly 75% of the code editor market.&lt;/p&gt;

&lt;p&gt;Its powerful extension ecosystem is a key reason for its success. Extensions add support for languages, linters, themes, and advanced features. But they also introduce a serious and largely unaddressed risk: &lt;strong&gt;every extension you install executes with the same system-level privileges as the editor itself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Extensions can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read and write files anywhere on your system&lt;/li&gt;
&lt;li&gt;Open unrestricted network connections&lt;/li&gt;
&lt;li&gt;Launch subprocesses&lt;/li&gt;
&lt;li&gt;Modify environment variables and configuration files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's essentially the same as running an unvetted Node.js application on your machine, under the assumption that it won't abuse its access.&lt;/p&gt;

&lt;p&gt;I wanted to understand the real extent of this problem...&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Data Says
&lt;/h2&gt;

&lt;p&gt;Using the tool &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;&lt;strong&gt;VSCan&lt;/strong&gt;&lt;/a&gt;, I scanned &lt;strong&gt;1,077 popular extensions&lt;/strong&gt; from the VSCode Marketplace.&lt;/p&gt;

&lt;p&gt;Here are the results:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Malicious Functionality&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Detected by reputed anti-virus engines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Malicious Network Connections&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Contacting dangerous IPs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vulnerable Dependencies&lt;/td&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;td&gt;Outdated libraries with critical flaws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardcoded Secrets&lt;/td&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;Credentials, tokens, and API keys publicly exposed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Poor Security Hygiene&lt;/td&gt;
&lt;td&gt;204&lt;/td&gt;
&lt;td&gt;Bad permission regulation, no version control, no audits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High Permissions Usage&lt;/td&gt;
&lt;td&gt;71&lt;/td&gt;
&lt;td&gt;Activated on all files or using unrestricted access patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These aren't theoretical risks. In several cases, extensions with &lt;strong&gt;tens of thousands of downloads&lt;/strong&gt; were actively reaching out to suspicious infrastructure, using dangerous APIs, or leaking secrets in plain text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building VSCan
&lt;/h2&gt;

&lt;p&gt;As a security researcher and developer, I wanted a way to analyze extensions before trusting them. So I built &lt;strong&gt;VSCan&lt;/strong&gt;—a free tool that statically analyzes VSCode, Cursor, and Windsurf extensions for malicious behavior and security risks.&lt;/p&gt;

&lt;p&gt;VSCan inspects every part of an extension's package, looking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Obfuscated or malicious code&lt;/li&gt;
&lt;li&gt;Dangerous API usage and activation patterns&lt;/li&gt;
&lt;li&gt;Insecure permissions and shell execution&lt;/li&gt;
&lt;li&gt;Known vulnerabilities in bundled dependencies&lt;/li&gt;
&lt;li&gt;Hardcoded secrets like API keys or credentials&lt;/li&gt;
&lt;li&gt;Suspicious network endpoints&lt;/li&gt;
&lt;li&gt;Low-quality development practices flagged by OSSF Scorecard&lt;/li&gt;
&lt;li&gt;High-risk logic, detected through AST and LLM-based code reasoning&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Under the Hood: How VSCan Works
&lt;/h2&gt;

&lt;p&gt;VSCan uses &lt;strong&gt;static analysis&lt;/strong&gt; to inspect everything inside an extension bundle, without executing any code.&lt;/p&gt;

&lt;p&gt;The engine analyzes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;package.json&lt;/code&gt; for activation events, main scripts, and permissions&lt;/li&gt;
&lt;li&gt;JavaScript/TypeScript files using Babel ASTs&lt;/li&gt;
&lt;li&gt;Dependency trees extracted from &lt;code&gt;package-lock.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Network calls to external domains&lt;/li&gt;
&lt;li&gt;Command execution via &lt;code&gt;child_process&lt;/code&gt; or dynamic imports&lt;/li&gt;
&lt;li&gt;Secret patterns using entropy + regex-based detection&lt;/li&gt;
&lt;li&gt;OSSF Scorecard data for repo-level security practices&lt;/li&gt;
&lt;li&gt;AI-assisted reasoning to verify hidden or obfuscated intent&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Experimental Runtime Sandboxing
&lt;/h2&gt;

&lt;p&gt;Static analysis has its limits. Some malicious behavior only occurs after installation or under specific runtime conditions.&lt;/p&gt;

&lt;p&gt;That's why I've started building a &lt;strong&gt;custom sandbox layer&lt;/strong&gt; to limit extension capabilities at runtime. It works by intercepting sensitive operations—file access, shell execution, and network activity—and enforcing restrictions on a per-extension basis.&lt;/p&gt;

&lt;p&gt;There is currently &lt;strong&gt;no permission isolation&lt;/strong&gt; in VSCode. This sandbox prototype is an early step toward bridging that gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who This Is For
&lt;/h2&gt;

&lt;p&gt;VSCan is designed for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers who want to verify third-party extensions&lt;/li&gt;
&lt;li&gt;Security engineers auditing supply chain components&lt;/li&gt;
&lt;li&gt;Teams managing secure development environments&lt;/li&gt;
&lt;li&gt;Extension authors checking for issues before publishing&lt;/li&gt;
&lt;li&gt;Users of VSCode forks like Cursor or Windsurf seeking safer defaults&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you're installing one extension or auditing hundreds, this tool can catch issues you won't spot by just reading the README.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;No signup required. Works directly in the browser. Fully open to the community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start scanning extensions here:&lt;/strong&gt; &lt;a href="https://vscan.dev" rel="noopener noreferrer"&gt;https://vscan.dev&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If you're using VSCode and have never looked inside your extensions, it might be time. Because that helpful syntax highlighter or theme switcher might be doing a lot more than just highlighting code.&lt;/p&gt;

</description>
      <category>security</category>
      <category>vscode</category>
      <category>programming</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
