Safeguard
Security Guides•

Which environments should a vulnerability count include?

A vulnerability total mixing production, staging and dev hides real exposure. Learn how to tag environments and report each group in its own number.

Safeguard Security Team
3 min read

A vulnerability count should be tagged by environment and reported by group, usually production first, then pre-production, then development and build tooling. One blended number hides how much exposure actually faces users or holds live data, and it moves for reasons unrelated to risk.

The blending problem

Development dependencies, test images and ephemeral preview environments often outnumber production assets. Their findings can dominate a total. A team that cleans a test fixture directory sees a big drop that does not change production exposure at all. The reverse also happens: a real production issue gets lost among hundreds of build tool findings.

Tag at the source

Add an environment attribute to each asset, set when it is created, not guessed later. Reasonable values: production, staging, development, build and tooling, and unknown. Treat unknown as a defect to be fixed, in the same way as an unowned asset.

Ways to assign the tag:

  1. From infrastructure definitions that name the deployment target.
  2. From cloud account or project naming conventions, if those are enforced.
  3. From labels on container images and orchestrator namespaces.
  4. From manifest metadata, such as marking a dependency as a dev dependency.

What to report

GroupWhy show it
ProductionDirect exposure to users and live data
Pre-productionEarly warning and release readiness
DevelopmentDeveloper workstation and test exposure
Build and toolingSupply chain risk through the pipeline
UnknownData quality gap

Do not rank these as important and unimportant. Build and tooling findings matter because a compromised build can reach production. The point is to keep the groups apart so the reader can see where the exposure is.

Dependencies that cross groups

A package marked as a dev dependency in one place may ship in a production image through a build step. If your data comes only from manifests, you will miss that. Where you can, scan the final artefacts, such as the built container image, in addition to source manifests, so the production number reflects what really ships.

Audit your own number

Take the production group and sample ten assets. Confirm each is really in production and that nothing in production is missing. Then take the unknown bucket and check how large it is. A large unknown group means environment totals cannot be trusted yet.

Keep trends comparable

When you introduce environment tagging, restate prior periods if you can, or add a note on the chart marking the change. Otherwise the first month looks like a sudden fall.

Safeguard does this kind of counting in one place: SBOM and dependency scanning, asset discovery and reachability analysis feed the same inventory, so each number can be traced back to its source. Container image scanning and asset discovery cover what actually runs, which helps check the production group. You can try a free scan at gold.safeguard.sh/scan.

Quick check

Should development findings be ignored?

No. Report them separately and prioritise by exposure. Build tooling in particular can affect production.

What if an asset has no environment tag?

Count it as unknown and treat the gap as something to fix, with an owner and a date.

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.