Safeguard
Security Guides•

How narrow should a vulnerability exception be? Scope it tightly

Scope an exception to one finding on one asset, one version and one environment. Why org-wide CVE waivers go wrong, and the fields that bound scope.

Safeguard Security Team
3 min read

Scope a vulnerability exception to one finding, on one component version, in one asset and one environment. A waiver on a CVE across every repository quietly covers systems nobody reviewed, including ones created next year. Narrow scope keeps the approval honest and the exception easy to retire.

The blanket waiver problem

Many scanners let you ignore a CVE globally. It is fast. It is also the reason exception lists turn into places where risk goes to hide. The approver judged one service. The waiver now applies to forty, with different exposure, different data and different compensating controls.

The risk is not only today's assets. A new service that pulls in the same library inherits the waiver without anyone choosing to accept anything.

Four dimensions of scope

DimensionNarrowToo broad
FindingOne CVE or advisory IDA whole severity class
ComponentName plus exact versionAny version of the package
AssetOne repository, image or serviceEvery asset in the organization
EnvironmentProduction only, or staging onlyAll environments

If a finding appears in several assets, you can still decide the same thing for each. Do it as separate records or as one record with a listed set of assets. The list is the scope, and a new asset is not on it until someone adds it.

Write scope as data

Keep scope in fields a tool can check, not in a paragraph a reader must interpret:

  • advisory or CVE ID,
  • package URL with version,
  • asset identifier,
  • environment,
  • exposure at approval time,
  • expiry date.

A gate can then match a finding to an exception exactly. If any field differs, the exception does not apply, and the finding fails as normal.

Handle version changes

When a dependency is upgraded but remains vulnerable, the old exception should not silently carry over. Either the version in scope changes and the record is reviewed, or the exception ends. A version bump to another vulnerable release is a chance to fix, not to extend.

When broad scope is right

A few cases justify a wider net, such as a finding in a test-only fixture used across many repositories. Even then, state the reason, limit the duration, and name the paths in scope. The test is whether the approver would sign off if they saw the full list of assets.

Where Safeguard fits

Safeguard policies and gates evaluate findings per asset and component, and its asset discovery helps you find where else a component lives before you widen an exception.

Try it yourself

Click through it at your own pace, or open it full screen. Notice how one component shows up in several places, which is exactly why scope matters.

Quick check

Is it ever fine to waive a CVE for the whole organization?

Rarely. If you do, list the assets covered at approval time, add an expiry, and require a new review for any asset added later.

What if the same exception applies to ten repositories?

Use one record with an explicit list of ten, or ten linked records. Either way each asset is named and reviewable.

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.