Safeguard
Supply Chain•

Does suppressing a vulnerability finding change your SBOM?

No. Suppressing a finding hides a vulnerability alert, not the component. The SBOM still lists the package. Share the decision through VEX instead.

Safeguard Security Team
3 min read

No. Suppressing a finding does not change your SBOM. An SBOM lists the components in your software. A suppression hides one vulnerability alert about a component. The package stays in the inventory, and it should, because a new advisory tomorrow will need to find it.

Two different records

RecordAnswersChanges when
SBOMWhat is in this software?The build changes
Vulnerability findingIs a component affected by an advisory?New data arrives or the code changes
SuppressionDo we accept or reject this finding, and why?A person decides
VEX statementIs the product affected by this vulnerability?You publish a status

Mixing these up leads to bad habits, such as deleting a vulnerable package from the SBOM to make a scan clean. That makes the document inaccurate and makes later incident searches fail.

Why the SBOM must stay complete

When a new advisory appears, the first question is "do we ship this package?" The SBOM answers it. If you removed entries to hide findings, you have no answer, and you are back to searching repositories by hand during an incident.

What to share with customers instead

A customer who receives your SBOM and runs their own scan will see the same findings you suppressed. To pre-empt questions, send a statement of what is and is not exploitable. The OpenVEX specification defines four statuses, not affected, affected, fixed and under investigation, and a not affected statement must include either a justification or an impact statement. Our post on SBOM versus VEX explains when to send each.

Mapping a suppression to a statement

  1. Take the suppression's reason, such as not in execute path.
  2. Choose the matching justification value.
  3. Identify the product and component using a package identifier that matches your SBOM.
  4. Publish the statement with a timestamp, and update it when the suppression expires or changes.

Do not publish a statement for a deferral. A deferral is not a claim of being unaffected, so it belongs in your internal register. See mapping exception reasons to justifications.

A caution on scope

A suppression can be per project, while your SBOM may cover a whole product. Make sure any outward statement covers exactly the product and version you mean.

Keep the inventory honest

If a package truly leaves your build, the SBOM should change because you changed the build, not because a scan was inconvenient. Regenerate SBOMs from the build output, not by hand.

Try it yourself

Click through it at your own pace, or open it full screen. Notice that the inventory lists components independent of how many findings each one has.

A short example

A team suppresses a not reachable finding in a logging library. Their SBOM still lists the library at the same version. A month later a new advisory names it, and a search of the SBOM finds every affected service in seconds. Had the library been edited out, that search would have found nothing.

Quick check

Should suppressed components be flagged in the SBOM?

Standard SBOMs do not carry suppression decisions. Use VEX or an internal register for that.

Can I remove a component to clear a scan?

Only by actually removing it from the build. Editing the document alone makes it wrong.

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.