Safeguard
Supply Chain•

Which of our products use this library? Answering it from SBOMs

To find which products use a library, search stored SBOMs by package URL and version range. Here is the method, the pitfalls and the follow up questions.

Safeguard Security Team
4 min read

To find which products use a library, search every stored SBOM by the library's package URL or ecosystem and name, filter by the affected version range, and report product, release and dependency path. This works only if SBOMs are stored per release and indexed by identifier.

The question behind the question

When a new advisory is published, leaders ask one thing: are we exposed? That breaks into smaller questions that a good SBOM store can answer.

  1. Which products and releases contain the component?
  2. At which versions?
  3. Is it a direct or a transitive dependency?
  4. Is the vulnerable code reachable in our use?
  5. Which of those releases are live in customer hands?

The method

  1. Normalise the target. Write the ecosystem, the name and the affected version range from the advisory. Use the package URL form where the advisory gives one.
  2. Search by identifier first, name second. Names collide across ecosystems. Identifiers do not.
  3. Handle version ranges. Comparing versions as text fails. Version ordering rules differ per ecosystem, so use a tool that understands them.
  4. Include nested and transitive components. A flat search of direct dependencies misses most hits.
  5. List per release. One product with three supported releases is three answers.
  6. Record the dependency path. Knowing which parent pulls the library in tells you where the fix must go.
  7. Mark unknowns. Products with no SBOM, or an incomplete one, are not safe. They are unknown. See known unknowns explained.

Why spreadsheets struggle

A sheet can answer this for one product with a filter. Across twenty products you open twenty files, and version range logic by hand invites mistakes. Names with different spellings hide hits. The answer takes hours at the moment you have minutes. A platform that holds every release in one searchable index can return the list immediately, and can keep the query to rerun later.

A table of pitfalls

PitfallEffectFix
Searching by name onlyFalse hits and missesSearch by package URL
Text compare of versionsWrong rangeUse ecosystem aware comparison
Direct dependencies onlyMissed transitive hitsSearch the whole graph
Latest SBOM onlyOld live releases missedSearch every supported release
Shaded or bundled copiesComponent not listedCheck for bundled libraries, see shaded dependencies

After the list: triage

A list of affected releases is not yet a plan. Add reachability, exposure and fix availability. Then pick an order. The post on matching components to vulnerabilities covers the matching side.

Practice the query

Pick a well known past advisory and run the search against your store. Time it. Note what broke. Repeat each quarter. The drill is cheap and shows exactly how fast you could respond.

Where Safeguard fits

Safeguard's SBOM and dependency scanning feeds an inventory you can query, and its reachability analysis helps separate reachable usage from the rest. Start with the free scan at gold.safeguard.sh/scan.

Try it yourself

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

After finding a component, look at what the check says about whether it can actually be exploited in context.

Quick check

Is a name search enough to find a library across SBOMs?

No. Use the package URL or ecosystem plus name, because names repeat across ecosystems.

What about products without an SBOM?

Treat them as unknown, list them separately and generate SBOMs for them first.

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.