2.7 KiB
2.7 KiB
Proof Spine System (Assembly, Segment Construction, Explainable Quiet Alerts)
Module
Attestor
Status
IMPLEMENTED
Description
Proof spine builder producing chained segments (SBOM_SLICE, MATCH, REACHABILITY, GUARD_ANALYSIS, RUNTIME_OBSERVATION, POLICY_EVAL), each DSSE-signed with hash-linked predecessors. Chains evidence IDs, reasoning IDs, VEX verdict IDs into signed proof bundles with Merkle root computation. VexProofSpineService in Policy engine enables explainable quiet alerts.
Implementation Details
- Proof Spine Assembly:
src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Assembly/-- proof spine assembly:ProofSpineRequest.cs-- request specifying subjects and evidence to include in the spine.ProofSpineResult.cs-- result containing assembled spine with Merkle root and linked segments.ProofSpineSubject.cs-- individual subject within a spine (artifact digest, type).MerkleTree.cs-- Merkle tree used for spine root computation.SpineVerificationCheck.cs-- individual verification check for a spine segment.SpineVerificationResult.cs-- aggregate verification result for the complete spine.
- Proof Spine Statement:
Statements/ProofSpineStatement.cs-- in-toto statement wrapping a proof spine. - Proof Spine Predicate:
Predicates/ProofSpinePredicate.cs-- predicate containing Merkle root, segment list, evidence IDs, reasoning IDs, and VEX verdict IDs. - DSSE Signing:
Signing/ProofChainSigner.cs-- signs each spine segment into a DSSE envelope with hash-linked predecessor. - Content-Addressed Identifiers:
Identifiers/EvidenceId.cs,ReasoningId.cs,VexVerdictId.cs-- IDs chained in the spine. - Persistence:
__Libraries/StellaOps.Attestor.Persistence/Entities/SpineEntity.cs-- persists spine data. - Tests:
__Tests/StellaOps.Attestor.ProofChain.Tests/ProofSpineTests.cs
E2E Test Plan
- Assemble a proof spine via
ProofSpineRequestwith 5 subjects and verifyProofSpineResultcontains a valid Merkle root - Verify each spine segment is DSSE-signed and hash-linked to its predecessor
- Create spine segments of different types (SBOM_SLICE, MATCH, REACHABILITY, POLICY_EVAL) and verify segment type metadata
- Chain evidence IDs, reasoning IDs, and VEX verdict IDs into the spine and verify all IDs are present in
ProofSpinePredicate - Verify the spine via
SpineVerificationCheckfor each segment and confirmSpineVerificationResultpasses - Build a
ProofSpineStatementand sign it; verify the DSSE envelope wraps the complete spine - Persist the spine via
SpineEntityand retrieve it; verify data integrity - Tamper with one segment's hash and verify spine verification detects the break in the hash chain