Safeguard
Security Guides•

How do you inventory plugins running in customer environments?

You cannot respond to a bad plugin without knowing who runs it. Build an inventory of plugin, version, permissions and owner that answers an incident fast.

Safeguard Security Team
3 min read

Record, for every installed plugin, its ID, version, publisher, declared permissions, install date and who installed it. Update the record on every change. When a plugin turns out to be bad, that table answers the first question: who is affected right now.

Why you need it before the incident

Marketplaces can remove a plugin and add it to a block list, as the Visual Studio Marketplace describes, and Chrome can disable one after an unresolved violation. Those actions depend on the host knowing what is installed. Your own product faces the same need, and so do your customers' administrators. VS Code's enterprise controls, for instance, let admins allow or block by publisher, plugin and version, which only works if they can see what exists.

Fields worth capturing

FieldWhy
Plugin ID and nameUnique identity
Publisher and verification stateWho to contact, how much to trust
VersionTargets version level blocks
Declared permissions and domainsJudges blast radius
Bundled libraries (SBOM reference)Matches new advisories
Install source and dateSpots sideloaded copies
Installed by and scopeNames the owner
Last update seenFinds stale copies

Steps to build it

  1. Collect from the host. Report installed plugins from the product itself, not only from the marketplace.
  2. Include sideloaded and private plugins. Installs from files or private feeds are often the ones nobody reviewed.
  3. Attach the manifest and a library list at install time.
  4. Normalize versions so the same plugin appears once with many installs.
  5. Re-check on a schedule and on new advisories, comparing the inventory to the latest data.
  6. Expose it to customer admins in the UI and by API.
  7. Test with a question. Pick a plugin and ask: how many tenants run version 2.1, and who installed it? If it takes more than a minute, fix the gap.

Common gaps

  • Counting only marketplace installs and missing sideloads.
  • Recording the plugin but not its permissions, so you cannot size the risk.
  • Keeping the data in a spreadsheet that no one updates.
  • Forgetting plugins bundled by other plugins as dependencies.

Try it yourself

Click through it at your own pace, or open it full screen.

Look at how findings are tied to assets and owners. A plugin inventory is useful for the same reason: every issue lands on a named item with someone responsible.

Quick check

Is the marketplace's install count enough?

No. It misses sideloaded copies, private feeds and offline installs, and it says nothing about the permissions or versions in your customers' environments.

How fresh should the inventory be?

Fresh enough to act during an incident. Reporting on every change plus a regular full sync keeps it current without heavy load.

Safeguard's asset discovery and SBOM features are built for this kind of inventory, and continuous monitoring ties new advisories to what you run. The free scan is a first look.

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.