2.5 KiB
2.5 KiB
Rekor Entry Events with Reanalysis Hints
Module
Attestor
Status
IMPLEMENTED
Description
Deterministic Rekor entry events (EntryLogged, EntryQueued, InclusionVerified, EntryFailed) with reanalysis hints (CVE IDs, product keys, artifact digests, scope) for policy reanalysis triggers.
Implementation Details
- Rekor Entry Event:
src/Attestor/StellaOps.Attestor/StellaOps.Attestor.Core/Rekor/RekorEntryEvent.cs-- event model with type (EntryLogged, EntryQueued, InclusionVerified, EntryFailed), payload, and reanalysis hints (CVE IDs, product keys, artifact digests, scope). - Rekor Submission Response:
Rekor/RekorSubmissionResponse.cs-- response from Rekor submission containing log index and entry UUID. - Rekor Receipt:
Rekor/RekorReceipt.cs-- receipt from Rekor with verification data. - Rekor Proof Response:
Rekor/RekorProofResponse.cs-- proof response with inclusion proof data. - Rekor Sync Background Service:
Rekor/RekorSyncBackgroundService.cs-- background service that emits events during sync operations. - Checkpoint Divergence Detector:
Rekor/CheckpointDivergenceDetector.cs-- detects checkpoint divergence and emits failure events. - Rekor Inclusion Verification Result:
Rekor/RekorInclusionVerificationResult.cs-- result of verifying a Rekor entry's inclusion. - Queue:
StellaOps.Attestor.Core/Queue/IRekorSubmissionQueue.cs-- queue for managing entry submissions with event emission. - Persistence:
__Libraries/StellaOps.Attestor.Persistence/Entities/RekorEntryEntity.cs-- persisted Rekor entry with event history. - Tests:
__Tests/StellaOps.Attestor.Core.Tests/RekorEntryEventTests.cs
E2E Test Plan
- Submit an attestation to Rekor and verify an
EntryLoggedevent is emitted with the log index - Queue a submission and verify an
EntryQueuedevent is emitted before actual submission - Verify inclusion of a Rekor entry and confirm an
InclusionVerifiedevent is emitted - Simulate a submission failure and verify an
EntryFailedevent is emitted with error details - Verify reanalysis hints contain CVE IDs, product keys, and artifact digests from the submitted attestation
- Verify the event scope field correctly narrows the reanalysis trigger (e.g., scope="component:openssl" only triggers reanalysis for openssl-related policies)
- Verify
RekorSyncBackgroundServiceemits events during sync operations (new entries found, checkpoint updates) - Persist events via
RekorEntryEntityand verify event history is retrievable