2.5 KiB
2.5 KiB
Evidence Requirement Validation for Exceptions
Module
Policy
Status
IMPLEMENTED
Description
Validates that exceptions include required evidence (attestation IDs, VEX notes, reachability proofs) before approval.
Implementation Details
- EvidenceRequirementValidator:
src/Policy/__Libraries/StellaOps.Policy.Exceptions/Services/EvidenceRequirementValidator.cs- Validates all required evidence is present for exception approval
- Checks: attestation IDs, VEX notes, reachability proofs, security review evidence
- Evidence freshness validation: age vs MaxAge threshold
- Trust score validation: minimum score for evidence acceptance
- DSSE signature verification: validates signed evidence
- Returns detailed validation result with per-requirement status
- ExceptionObject:
src/Policy/__Libraries/StellaOps.Policy.Exceptions/Models/ExceptionObject.cs-- exception model with evidence requirements- Required evidence types defined per exception scope
- Scopes: CVE-level, package-level, finding-level
- EvidenceHook:
src/Policy/__Libraries/StellaOps.Policy.Exceptions/Models/EvidenceHook.cs-- evidence hook configuration- Mandatory flag, MaxAge, trust score threshold, DSSE requirement
- ExceptionEvaluator:
src/Policy/__Libraries/StellaOps.Policy.Exceptions/Services/ExceptionEvaluator.cs-- evaluates exception applicability with evidence checks - ExceptionApplication:
src/Policy/__Libraries/StellaOps.Policy.Exceptions/Models/ExceptionApplication.cs-- tracks exception applications with evidence snapshot - Exception Repositories:
src/Policy/__Libraries/StellaOps.Policy.Exceptions/Repositories/-- persistence for exceptions and evidence
E2E Test Plan
- Create exception requiring attestation ID; verify validation fails when attestation ID is missing
- Create exception requiring VEX note; provide valid VEX note; verify validation passes
- Create exception requiring reachability proof; provide proof; verify validation passes
- Validate evidence with expired MaxAge; verify freshness check fails
- Validate evidence with trust score below minimum; verify trust check fails
- Create exception with multiple required evidence types; provide all; verify validation passes
- Create exception with multiple required evidence types; omit one; verify validation fails with specific missing requirement
- Verify ExceptionApplication records the evidence snapshot at time of application
- Verify exception evaluator checks evidence requirements before determining applicability