advanced24 min studyLesson 435 in Engineering

Bind an inventory to its actual artifact and scope

Read versioned SBOM formats as structured inventory evidence while examining collection scope, component identity, and unknown coverage.

On this page

What you’ll understand

  • State the artifact and lifecycle stage a software bill of materials covers.
  • Distinguish component presence, relationships, completeness, and vulnerability assessment.
  • Calculate coverage only against an independently defined reference set.

A service image has a package inventory, yet an incident involves a native library copied into the image by a shell step. The inventory generator only inspected the language lockfile. A software bill of materials can carry structured component and relationship information, but its format does not guarantee the collection process saw every relevant byte. Ask what artifact it describes, at which stage, with which method, before using its contents to scope an AI-service incident.

A format describes data, not automatic completeness

SPDX 2.3 and CycloneDX 1.6 provide versioned ways to express software inventory and related information. Their schemas and vocabularies differ, and later versions may add concepts. Record the actual format and version rather than treating the word SBOM as one interchangeable schema. Component identities, versions, hashes, dependencies, authorship metadata, and relationships can help join an inventory to other evidence. However, a well-formed document can still omit a copied binary or misidentify a component. Schema validation checks the document's structure; collection coverage and factual accuracy require different evidence.

State whether the inventory concerns source dependencies, build tools, or the final runtime artifact. An AI image may include operating-system libraries, native extension wheels, generated kernels, and model conversion utilities absent from one application manifest. A build-time generator may influence output while not being present in the deployed filesystem. Keep those scopes distinguishable instead of mixing their counts without labels. Relationships can preserve how components were assembled, but the existence of a dependency edge does not alone establish that a vulnerable function executes in the deployed path.

coverage⁡=∣B∩T∣∣T∣,∣T∣>0\operatorname{coverage}=\frac{|B\cap T|}{|T|},\qquad |T|>0
T is an independently specified reference set of in-scope component identities and B is the reported set. Coverage is dimensionless; if T is unknown or empty, report the corresponding unknown or empty scope rather than inventing a complete percentage.↔ Scroll wide equations horizontally.

Make identities and collection context useful

Bind the inventory to a concrete artifact digest and target so a similarly named image cannot silently inherit its report. Record the generating tool, relevant configuration, collection time, and declared scope. Names alone can conflate different versions or architectures; inconsistent identity normalization can also create duplicates. Distinguish unresolved identity from confirmed absence. A scanner's inability to recognize a statically linked library is evidence about the method's limit, not proof that the library is absent. An inventory regenerated from changed bytes should receive a new artifact binding even if the release label stays the same.

Freshness has several dimensions. An old inventory can accurately describe unchanged immutable bytes, while a document generated one minute ago can describe the wrong image. Newly published vulnerability information may require reassessment of the same inventory without changing its component facts. Version the relationship between artifact, inventory, and analysis result rather than overwriting all three as one status. Preserve enough history to answer which evidence and advisory set supported a past deployment decision. Collection timestamps help order work, but cannot substitute for digest binding or complete scope.

precision⁡=∣B∩T∣∣B∣,∣B∣>0\operatorname{precision}=\frac{|B\cap T|}{|B|},\qquad |B|>0
Relative to the same trusted reference T, precision measures the fraction of reported identities that are actually in scope. It is not vulnerability precision or a security score; an empty reported set needs a separate empty outcome.↔ Scroll wide equations horizontally.

Use an inventory as a starting point for decisions

A component list can support incident search, update planning, and evidence gathering. It does not alone prove that an artifact is free of vulnerabilities, that a particular advisory is exploitable, or that every license obligation is satisfied. Those questions require additional context and policy. Resolve reported matches to actual component identities and paths, examine execution and privilege context, and retain uncertainty where the collection method cannot answer. Completeness declarations should reflect evidence rather than the expectation that a standard document is automatically exhaustive. Consumers should be able to see whether runtime, build, and unknown components were treated separately.

The probability lab illustrates one explicit collection assumption, not an inventory scanner. For each separate view, Reset, set both per-component capture probability p=0.9 and count n=10, predict the all-ten bar, then inspect. If ten capture events were independent with equal probability, the chance of capturing all ten would be 0.9¹⁰≈0.3487. Real tools can systematically miss an entire class of native libraries, violating independence. The calculation explains why a high marginal capture rate is not itself a completeness claim; actual coverage needs a defined reference and collection evidence.

Separate missing components from stale entries

A controlled reference examination identifies 120 runtime component identities in a fictional image. Its SBOM lists 110 identities:90 are in the reference set and 20 are stale or out of scope. Treat the reference as complete only for this exercise.

  1. The overlap is 90, so coverage is 90/120=75%. There are 120−90=30 missing reference identities.

  2. Reported-set precision is 90/110≈81.82%. The twenty incorrect entries cannot compensate for the thirty omissions.

  3. Investigate collection scope and stale artifact binding separately, then regenerate and compare. In a real image without a complete reference, these exact coverage percentages would not be justified merely from the SBOM itself.

The result

The document has 75% coverage and about 81.82% precision against the supplied reference. Neither number is a vulnerability-free score or proof of legal compliance.

Explore the model

Interactive lab

Interactive lab · probability

High individual capture does not guarantee a complete set

Reset, set both p=0.9 and n=10, predict the all-ten outcome, then inspect. The exact independent binomial model assigns probability 0.9¹⁰≈0.3487 to all ten captures. This is not an SBOM generator, measured scanner accuracy, or a random experiment.

High individual capture does not guarantee a complete setThese are exact binomial probabilities for independent trials with one fixed success probability. Playback tours the distribution; it does not resample outcomes. Current readings: Mean · np: 5; Variance · np(1−p): 2.5; Total probability: 1. All parameters are adjustable with the labeled controls below.03581000.070.150.220.3Successes kP(X = k)k = 0 · P = 9.77e-4
Exact probabilityHighlighted outcomeMean np
Mean · np
5
Variance · np(1−p)
2.5
Total probability
1
t = 0 s

These are exact binomial probabilities for independent trials with one fixed success probability. Playback tours the distribution; it does not resample outcomes. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forSystematic omissions can correlate capture failures. Inventory completeness requires scope and actual collection evidence, not a format name or an assumed independent percentage.

Check your understanding

An SBOM validates against its stated schema. What further question is essential before using it to scope an image incident?

Try it yourself

An independently verified reference has 50 in-scope identities. A report has 45 entries, of which 40 match that reference. Compute coverage, precision, and missing identities.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Use the reference size for coverage and the reported size for precision.

Compare with the solution

Coverage is 40/50=80%. Precision is 40/45≈88.89%. Ten reference identities are missing and five reported entries are out of scope. These figures rely on the supplied trusted reference and do not establish exploitability or correctness of the components.

Take it with you

  • A versioned SBOM is structured inventory evidence with a collection boundary.
  • Bind reports to concrete artifacts and preserve unknown component scope.
  • Coverage, vulnerability assessment, and policy compliance answer different questions.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.