mathewboswell.com — sboms-vulnerability-management-accuracy.md
guest@mathewboswell:~$ cat sboms-vulnerability-management-accuracy.md

How SBOMs Make Vulnerability Management More Accurate

2026-02-19 · # security # vulnerability-management # sbom # supply-chain

When a major vulnerability lands in a widely used library, the first question is always the same: where are we using this?

Teams without good software inventory answer by grepping repositories, asking around in chat, and scanning everything they can find. Teams with SBOMs can usually answer with a query.

What an SBOM is

A software bill of materials is a structured list of the components in a piece of software: packages, libraries, versions, and often their relationships and origins. The two common formats are CycloneDX and SPDX.

SBOMs can be generated at build time from the package manager and build tooling, or afterward by analyzing an artifact such as a container image. Tools like Syft, Trivy, and native build plugins can produce them.

How SBOMs improve accuracy

Matching against real versions

Vulnerability databases such as OSV, NVD, and GitHub Security Advisories describe affected version ranges. An SBOM with precise package identifiers, such as package URLs (purls), lets you match those ranges reliably instead of guessing from file names or banners.

Seeing transitive dependencies

Most vulnerable components arrive indirectly. Your application depends on a framework, which depends on a library, which depends on the vulnerable package. A good SBOM captures that tree, so you can see the dependency path and decide where to fix it.

Answering "where" quickly

If every build artifact has an SBOM stored centrally, a new advisory becomes a lookup across all of them. That speed matters most in the first hours after a high-profile disclosure.

Supporting VEX

Vulnerability Exploitability eXchange (VEX) documents let a supplier or internal team state whether a product is actually affected by a given vulnerability. Paired with SBOMs, VEX can reduce noise from components that are present but not exploitable in context.

Declared versus deployed

This is where many SBOM programs fall short.

A manifest file in a repository declares dependencies. It doesn't prove what is running. Between the two sit lockfile drift, build-time substitutions, base image contents, and artifacts that were built months ago and never redeployed.

The most useful SBOMs are tied to specific deployed artifacts: a particular container image digest or a specific release build. Then you can connect them to runtime inventory such as which image digests are running in which clusters.

Ask two separate questions:

  1. Which artifacts contain the vulnerable component?
  2. Which of those artifacts are actually running, and where?

The second answer is the one that drives remediation.

Provenance

An SBOM is only as trustworthy as the process that produced it. If anyone can upload one, or it is generated from a different build than the one deployed, it can mislead you.

Strengthen provenance by:

  • Generating SBOMs in CI as part of the build, not by hand
  • Signing SBOMs and attaching them to artifacts as attestations, for example with Sigstore tooling
  • Recording build provenance using frameworks such as SLSA
  • Linking each SBOM to an immutable artifact digest

Limitations

SBOMs are a big improvement, not a complete answer.

  • Coverage gaps. Vendored code, statically linked binaries, and copied snippets may not appear.
  • Identifier quality. Missing or inconsistent package identifiers cause missed matches and false positives.
  • Third-party software. Commercial products may not ship SBOMs, or may ship incomplete ones.
  • No reachability. An SBOM says a component is present, not whether the vulnerable code is used.
  • Staleness. An SBOM describes a moment in time. It needs regenerating with each build.

A practical rollout

  1. Generate SBOMs for every container image and release build in CI.
  2. Store them centrally, keyed by artifact digest.
  3. Connect artifact digests to runtime inventory.
  4. Match SBOMs continuously against vulnerability databases.
  5. Request SBOMs from key vendors and track which ones provide them.
  6. Add VEX statements for known false positives, with an owner and a reason.

Why it matters

Vulnerability management depends on inventory. Without it, every advisory triggers a search. With accurate, deployed-artifact SBOMs, it becomes a match, and your team can spend its time fixing instead of finding.

guest@mathewboswell:~$ cd /posts
guest@mathewboswell:/posts/sboms-vulnerability-management-accuracy2026 — System 1.0