Skip to content

Lesson 11 · supply

An SBOM is an evidence map

Validate both structure and relationships.

An SBOM records components, versions, identifiers and relationships in a particular artifact. Manifest dependency ranges and resolved lockfile entries are different evidence. Neither necessarily establishes every third-party license.

CycloneDX 1.5 JSON uses bom-ref identifiers and dependency references. SPDX 3.0.1 uses a graph serialization in JSON-LD, with creation information and typed relationships. A document labeled SPDX 3.0 that contains a 2.x package shape is not a valid 3.0.1 document.

Schema validation detects many structural errors. Semantic checks also matter: an identifier may be unique in shape yet point to nothing, or a valid document may omit a required shipped component.

The gym validates against pinned official schemas offline, then checks graph references and the supplied project inventory. A valid SBOM records evidence; it is not itself a legal clearance certificate.

Try it: An SBOM with a ghost dependency

Repair bom.json so it describes the supplied project and has complete, unique references. The SBOM generator is available, but validate the result.

Before inspecting the result

What does this supplied release need before its modeled requirements are met?

Prediction

Project boundary

2 components
bundleappLicenseRef-ProprietarylibraryMIT
Dependency relationships
From → toConnectionSemantics
app → librarybundleintimate

Supplied facts

Distribution
binary
Network interaction
No
Intended use
internal
Evaluation date
2026-10-24
Policy
learning

These facts define the simulation. Evidence declarations stand in for actual corresponding source, relinkable objects and release materials.

Components

Declared license
LicenseRef-Proprietary
Modified files
None
Artifact
code

Third-party grants remain fixed unless this scenario supplies authority to change them.

Project artifacts

Evidence artifact format

Source offers contain “component: id” and “source: https://…” on separate lines. Covered-file offers also list the covered paths. Relinking declarations contain “replace-compatible-library” for dynamic linking or “relink-object-files” for static linking, and “reverse-engineering-permitted”. These declarations model supplied release artifacts.

License reference

permissions
commercial-use, modifications, distribution, private-use
conditions
include-copyright, include-license
limitations
liability, warranty
Read authoritative terms ↗

Expression builder

Each row is one selectable alternative. AND retains every term in a row.
AlternativeRequired licenses
1MIT AND LGPL-3.0-only
2Apache-2.0 AND LGPL-3.0-only
Results appear after submission.