2.9 KiB
2.9 KiB
Periodic Rekor Verification Job
Module
Attestor
Status
IMPLEMENTED
Description
Scheduled background job that periodically re-verifies Rekor transparency log entries to detect post-compromise tampering, with metrics emission, health check integration, and a dedicated Doctor plugin for verification status monitoring.
Implementation Details
- Rekor Verification Job:
src/Attestor/StellaOps.Attestor/StellaOps.Attestor.Core/Verification/RekorVerificationJob.cs-- scheduled background job that re-verifies Rekor entries on a configurable interval. - Rekor Verification Service:
Verification/RekorVerificationService.cs-- service that performs the actual verification (inclusion proof, checkpoint consistency). ImplementsIRekorVerificationService.cs. - Verification Metrics:
Verification/RekorVerificationMetrics.cs-- emits metrics: entries verified, failures detected, verification duration. - Health Check:
Verification/RekorVerificationHealthCheck.cs-- ASP.NET health check reporting Rekor verification status. - Checkpoint Divergence Detector:
StellaOps.Attestor.Core/Rekor/CheckpointDivergenceDetector.cs-- detects checkpoint divergence between local and remote Rekor log. ImplementsICheckpointDivergenceDetector.cs. - Divergence Alert Publisher:
Rekor/CheckpointDivergenceAlertPublisher.cs-- publishes alerts when checkpoint divergence is detected. - Rekor Inclusion Verification:
Rekor/RekorInclusionVerificationResult.cs-- result of verifying a single entry's inclusion proof. - Merkle Proof Verifier:
Verification/MerkleProofVerifier.cs-- verifies Merkle inclusion proofs for Rekor entries. - Offline Receipt Verifier:
Verification/RekorOfflineReceiptVerifier.cs-- verifies Rekor receipts without network access. - Verification Report:
Verification/VerificationReport.cs-- aggregate report of all verification results for a run. - Tests:
__Tests/StellaOps.Attestor.Core.Tests/RekorVerificationJobTests.cs
E2E Test Plan
- Run
RekorVerificationJobagainst a set of persisted Rekor entries and verify all entries are re-verified successfully - Tamper with a persisted Rekor entry's inclusion proof and verify the job detects the failure via
RekorVerificationService - Verify
RekorVerificationMetricsemits correct counts: entries_verified, failures_detected, duration_ms - Verify
RekorVerificationHealthCheckreports Healthy when all entries verify and Unhealthy when failures are detected - Simulate checkpoint divergence via
CheckpointDivergenceDetector(local checkpoint ahead of remote) and verifyCheckpointDivergenceAlertPublisherfires - Verify
MerkleProofVerifiercorrectly validates inclusion proofs for Rekor entries - Verify
VerificationReportcontains a summary of all checks with pass/fail status per entry - Run the verification job with network disabled and verify
RekorOfflineReceiptVerifierhandles offline mode