3.1 KiB
3.1 KiB
Machine-Verifiable DSSE Verdict Receipts
Module
Attestor
Status
VERIFIED
Description
Verification receipts with checks, context, and verdict receipt payloads are fully modeled and implemented.
Implementation Details
- Verification Receipt:
src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Receipts/VerificationReceipt.cs-- complete verification receipt containing checks, context, overall result, and timestamp.IReceiptGenerator.cs-- interface for generating receipts. - Verification Check:
Receipts/VerificationCheck.cs-- individual check within a receipt (e.g., signature valid, predicate schema valid, Merkle proof valid) with pass/fail status and message. - Verification Context:
Receipts/VerificationContext.cs-- context for the verification (subject ID, predicate type, verifier identity, timestamp). - Verification Result:
Receipts/VerificationResult.cs-- aggregate result enum (Passed, Failed, Inconclusive). - Verdict Receipt Payload:
Statements/VerdictReceiptPayload.cs-- in-toto predicate payload for verdict receipts containing decision, inputs, and outputs. - Verdict Receipt Statement:
Statements/VerdictReceiptStatement.cs-- in-toto statement wrapping the verdict receipt payload. - Verdict Decision:
Statements/VerdictDecision.cs-- the decision (Pass/Fail/Warn) within the receipt. - Verdict Inputs:
Statements/VerdictInputs.cs-- inputs that were considered for the verdict. - Verdict Outputs:
Statements/VerdictOutputs.cs-- outputs produced by the verdict (policy violations, exceptions applied, etc.). - DSSE Signing:
Signing/ProofChainSigner.cs(with.Verification) -- signs verdict receipts into DSSE envelopes for machine verification. - Signature Verification Result:
Signing/SignatureVerificationResult.cs-- result of DSSE signature verification. - Tests:
__Tests/StellaOps.Attestor.ProofChain.Tests/VerificationReceiptTests.cs
E2E Test Plan
- Generate a
VerificationReceiptviaIReceiptGeneratorwith multipleVerificationCheckentries and verify all checks are present - Create a receipt with all checks passing and verify
VerificationResultisPassed - Create a receipt with one failing check and verify
VerificationResultisFailed - Build a
VerdictReceiptStatementwithVerdictDecision.Pass, sign it viaProofChainSigner, and verify the DSSE envelope is well-formed - Verify the signed verdict receipt DSSE envelope via
ProofChainSigner.Verificationand confirmSignatureVerificationResultpasses - Tamper with the verdict receipt payload after signing and verify signature verification fails
- Create a
VerdictReceiptPayloadwithVerdictInputs(scan results, policy rules) andVerdictOutputs(violations, exceptions) and verify all fields are captured - Verify
VerificationContextcaptures subject ID, predicate type, and verifier identity correctly
Verification
| Check | Result |
|---|---|
| Tier 0 - Source Verification | PASS |
| Tier 1 - Build + Code Review | PASS |
| Tier 2 - Behavioral Verification | PASS |
| Verified Date | 2026-02-13 |
| Run ID | run-001 |