Skip to content

SBOM and supply chain

Modulecraft.18 · practice · docs · Pass 11 · 1 to 2 h
You builddocs/sbom/engine.spdx.json and docs/sbom/gateway.spdx.json; use course/contracts/allowed-deps.toml as the dependency policy
Testscourse/tests/craft.18 (named below, with why each exists)
Needsnone
Used byno code call site; this is an independent artifact
MilestoneMS-P11
  • Tie each claim to the exact platform evidence that SBOM and supply chain produces.
  • State the owner, success condition, and recovery action before declaring the work complete.
  • Record unresolved assumptions so the next review can test them.
Terminal window
ol start craft.18
ol tests craft.18
ol check craft.18

A deployment is built from many direct and transitive packages. An SBOM and dependency policy help responders identify exposure and prove what was shipped.

Generate inventories from the exact image digest. Pin base images and dependencies, record licenses and provenance, and define a review path for exceptions. course/contracts/allowed-deps.toml is the source policy; it is not a generated learner artifact. Regenerate an SPDX document for each released image and retain the image digest with the CI run.

Build each service image, capture its digest, generate an SPDX or CycloneDX SBOM, and compare every dependency with the allowlist. Investigate unpinned transitive dependencies and known vulnerabilities before signing off.

TestKINDChecksWhy it matters downstream
test_artifact_paths_are_declaredartifactParses both SPDX 2.3 JSON files, checks package IDs and dependency relationships, and confirms the engine and gateway policy sections exist. This catches malformed inventories and disconnected package rows.
#PitfallSymptomCaught by
1The artifact names a decision without the evidence that supports itReviewers cannot verify the claim against the repository or system.test_artifact_paths_are_declared
2The failure or rollback case is omittedThe happy path passes while an operator has no safe response under failure.test_artifact_paths_are_declared
3The owner, threshold, or scope is implicitTwo reviewers can reach different release or risk decisions from the same evidence.test_artifact_paths_are_declared
DirectionModuleConnection
Backcraft.17Read this declared prerequisite before producing the artifact; use it to verify the relevant contract or evidence.
ResourceWhat to inspect
C4 model and architecture rules, section 2.3Compare the submitted views with the course system boundary and its process/file interfaces.