Safeguard
Supply Chain•

How do you handle SBOMs that point to other SBOMs?

Suppliers often link to a sub-component's own SBOM instead of inlining it. Here is how to resolve external references safely and keep the chain intact.

Safeguard Security Team
3 min read

When an SBOM points to another SBOM, fetch the referenced document, check that it is the right one by identifier or checksum, then link it to the parent record without merging away its origin. Keep every link visible so a vulnerability can be traced up to the product you received.

Why SBOMs link to each other

Software is assembled from parts that have their own makers. A supplier may ship a product built from a library or sub-product whose maker publishes its own bill of materials. Rather than copy that content, the parent file references it. Both major formats support this.

  • CycloneDX external references have a type value for a bill of materials, described as covering an SBOM, OBOM, HBOM, SaaSBOM and similar.
  • SPDX 2.3 has External Document References. Each entry has a DocumentRef- identifier, the referenced document's URI and a checksum.

The checks before you follow a link

  1. Is the link reachable and allowed? Only fetch from sources you are comfortable contacting. A link inside a file is untrusted input.
  2. Does it match? SPDX gives you a checksum. Compare it. For CycloneDX, look for a hash on the reference or compare the serial number and version of what you fetched.
  3. Is it current? CycloneDX says a BOM should have a serial number, and when several BOMs share one, consumers should use the highest version.
  4. Is the format one you accept? Run the same validation you apply to top level files.

How to store the chain

Keep a parent and child relationship in your database rather than flattening everything into one list. A flat list loses the answer to a question you will be asked: which product did this component come in through? A graph keeps that answer.

ApproachGoodBad
Flatten into one listSimple queriesLoses origin and ownership
Keep documents separate, link by IDPreserves provenanceNeeds a resolver
Hybrid: index components, keep linksFast search, traceableMore design work

The hybrid option works best in practice.

When the link is dead

Mark the child as unresolved. Do not fill in a guess. Ask the supplier for a current location or an attached copy. Tell them which product and release you were reviewing.

Try it yourself

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

Notice how direct and indirect dependencies are shown together, then picture each indirect one as a separate linked document.

Where Safeguard fits

Safeguard provides SBOM and dependency scanning, including transitive dependencies in the code you scan. You can run the free scan on a project to see the full dependency tree.

Quick check

Should I merge referenced SBOMs into the parent?

Prefer linking and indexing. Merging loses origin, and origin decides who you ask when a component is vulnerable.

Is a link inside an SBOM safe to follow automatically?

Treat it as untrusted. Limit which hosts your resolver contacts and verify the checksum or identifier after download.

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.