2.3 KiB
2.3 KiB
SBOM Linkage to VEX
Module
Attestor
Status
IMPLEMENTED
Description
SBOM-to-VEX linkage with component reference extraction from both CycloneDX and SPDX SBOMs.
Implementation Details
- Component Ref Extractor:
src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Linking/ComponentRefExtractor.cs-- extracts component references from SBOMs for VEX cross-linking..Resolution-- resolves PURL-to-bom-ref mappings for CycloneDX components..Spdx-- extracts SPDXID references for SPDX components.
- SBOM Extraction Result:
Linking/SbomExtractionResult.cs-- result containing extracted component references with PURLs and bom-refs/SPDXIDs. - VEX Proof Integrator:
__Libraries/StellaOps.Attestor.ProofChain/Generators/VexProofIntegrator.cs(with.Helpers,.Metadata) -- integrates SBOM component references into VEX decisions. - VEX Verdict Proof Payload:
Generators/VexVerdictProofPayload.cs-- combined payload linking VEX verdict to SBOM components. - SBOM Reference:
Predicates/SbomReference.cs-- reference to the source SBOM for linkage. - Micro-Witness SBOM Ref:
Predicates/MicroWitnessSbomRef.cs-- links function-level witness evidence to SBOM components. - VEX Override:
__Libraries/StellaOps.Attestor.StandardPredicates/VexOverride/VexOverridePredicate.cs-- VEX override linked to SBOM components. - Tests:
__Tests/StellaOps.Attestor.ProofChain.Tests/ComponentRefExtractorTests.cs
E2E Test Plan
- Extract component refs from a CycloneDX SBOM via
ComponentRefExtractor.Resolutionand verify PURL-to-bom-ref mappings - Extract component refs from an SPDX SBOM via
ComponentRefExtractor.Spdxand verify SPDXID extraction - Link extracted SBOM components to a VEX decision via
VexProofIntegratorand verify theVexVerdictProofPayloadcontains the component reference - Verify
SbomExtractionResultcontains all extracted components with PURLs - Link a micro-witness to an SBOM component via
MicroWitnessSbomRefand verify bom-ref cross-reference - Create a VEX override via
VexOverridePredicatelinked to a specific SBOM component and verify the linkage - Verify bidirectional linking: given a VEX statement, resolve the SBOM component; given an SBOM component, find all VEX statements