Safeguard
Developer Tools•

How do you vet a VS Code extension before installing it?

VS Code extensions run with the editor's own permissions. A short vetting routine covering publisher trust, marketplace signals and their limits.

Safeguard Security Team
3 min read

Check who published it, whether the publisher is verified, how the extension is maintained, and what it needs to do. Remember the core fact: an extension runs in the extension host with the same permissions as VS Code itself, so it can read files, make network requests and start processes on your laptop.

Why the stakes are high

The VS Code documentation on extension runtime security says the extension host has the same permissions as VS Code. Any action VS Code can perform, an extension can perform. It lists reading and writing files, network requests, running external processes and changing workspace settings.

That means installing an extension is closer to installing a program than to changing a theme.

A five step vetting routine

  1. Read the publisher dialog. Since VS Code 1.97, installing from a third party publisher prompts you to confirm you trust that publisher. If you trust the publisher of an extension pack, you also trust the publishers of its dependencies. Do not click through.
  2. Look for the verified badge. The blue check mark means the publisher proved domain ownership and the Marketplace verified the domain and the publisher's good standing for at least six months. It is a signal about identity, not about code quality.
  3. Check the history and the repository. Ratings and reviews, the Q and A section, linked issues, source repository and license tell you whether a real team stands behind it.
  4. Match permissions to purpose. A color theme has no reason to want network access. If the description does not explain why it needs to run code, ask why.
  5. Prefer fewer extensions. Every one is a standing grant of trust that is easy to forget.

What the Marketplace does for you

The documentation lists malware scanning on each new extension and each update, dynamic detection in a sandboxed environment, verified publishers, monitoring for unusual usage, protection against name squatting and a block list that removes reported extensions and uninstalls them. These are real protections. They are also not a guarantee, which is why the documentation tells you to decide for yourself how reliable an extension is.

One detail worth noting: when you install extensions with the VS Code command line, the publisher is not automatically trusted. You still get to make the call.

Keeping the list honest

Periodically review the trusted publishers list using the Manage Trusted Extensions Publishers command. Remove publishers you no longer use. Organizations that want to enforce which extensions are allowed can configure allowed extensions centrally, which the documentation points to.

What to do after a bad install

If you installed something you now doubt, uninstall it, check what the extension could reach, and rotate credentials that were readable by your user account. Tokens in env files, cloud credentials and package registry tokens are the usual list.

If you want a quick look at what your projects actually resolve, Safeguard offers SBOM and dependency scanning, and there is a free scan at gold.safeguard.sh/scan.

Quick check

Does the blue check mark mean the extension is safe?

No. It shows the publisher proved domain ownership and has been in good standing for at least six months. It says nothing about the code.

Can an extension read files outside my project?

Yes. The extension host has the same permissions as VS Code, so an extension can read and write files your user account can reach.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.