Files
git.stella-ops.org/docs/modules/authority/gaps/2025-12-04-rekor-receipt-gaps-rr1-rr10.md
StellaOps Bot 175b750e29 Implement InMemory Transport Layer for StellaOps Router
- Added InMemoryTransportOptions class for configuration settings including timeouts and latency.
- Developed InMemoryTransportServer class to handle connections, frame processing, and event management.
- Created ServiceCollectionExtensions for easy registration of InMemory transport services.
- Established project structure and dependencies for InMemory transport library.
- Implemented comprehensive unit tests for endpoint discovery, connection management, request/response flow, and streaming capabilities.
- Ensured proper handling of cancellation, heartbeat, and hello frames within the transport layer.
2025-12-05 01:00:10 +02:00

3.3 KiB
Raw Blame History

Rekor Receipt Remediation · RR1RR10 (Authority/Attestor/Sbomer)

Source: docs/product-advisories/31-Nov-2025 FINDINGS.md (RR1RR10). Scope is Rekor receipt schema/catalog and offline verification path consumed by Authority + Sbomer + Attestor.

Deliverables & Evidence Map

ID Requirement Deliverable Evidence & location
RR1 DSSE/hashedrekord only Policy flag rk1_enforceDsse=true and routing to hashedrekord recorded in mirror/receipt policy. gaps/artifacts/rekor-receipt-policy.v1.json (+ DSSE).
RR2 Payload size preflight + chunks rk2_payloadMaxBytes=1048576 with chunk guidance; embed in policy. Same policy JSON (rk2 fields) + example transport-plan snippet.
RR3 Public/private routing rk3_routing map per shard/tenant documented. Policy JSON.
RR4 Shard-aware checkpoints rk4_shardCheckpoint="per-tenant-per-day" + freshness fields. Policy JSON + checklist section.
RR5 Idempotent submission keys rk5_idempotentKeys=true; include sample request header/claim mapping. Policy JSON + doc section.
RR6 Sigstore bundles in kits rk6_sigstoreBundleIncluded=true + bundle manifest entry for receipts. Policy JSON + bundle manifest path gaps/artifacts/rekor-receipt-bundle.v1.json.
RR7 Checkpoint freshness bounds rk7_checkpointFreshnessSeconds aligned with mirror/transport budgets. Policy JSON + metrics note.
RR8 PQ dual-sign options rk8_pqDualSign toggle captured with allowed algorithms. Policy JSON + crypto profile reference.
RR9 Error taxonomy/backoff rk9_errorTaxonomy and retry rules; deterministic table. gaps/rekor-receipt-error-taxonomy.md.
RR10 Policy/graph annotations rk10_annotations fields for policy hash + graph context inside receipts. Policy JSON + schema doc.

Schema & bundle layout

  • Receipt schema: gaps/artifacts/rekor-receipt.schema.json (includes required fields: tlog URL/key, checkpoint, inclusion proof, bundle hash, policy hash, client version/flags, TSA/Fulcio chain, mirror metadata, repro inputs hash).
  • Bundle manifest: gaps/artifacts/rekor-receipt-bundle.v1.json referencing schema, policy, transport plan, and sample receipts; DSSE envelope rekor-receipt-bundle.v1.sigstore.json when signed.
  • Hash index: docs/modules/authority/gaps/SHA256SUMS collects schema/policy/bundle hashes and (once signed) DSSE bundle hashes.

Action Plan

  1. Draft rekor-receipt-policy.v1.json with rk1rk10 flags and shard/routing/size constraints; keep keys sorted.
  2. Author schema rekor-receipt.schema.json with canonical field order and example; ensure inclusion proof + policy hash fields are mandatory.
  3. Add error taxonomy markdown rekor-receipt-error-taxonomy.md with deterministic table (code, classification, retry policy).
  4. Define bundle manifest rekor-receipt-bundle.v1.json (hashes will be appended to SHA256SUMS once generated) and note DSSE envelope requirement.
  5. Mirror status in sprint SPRINT_0314_0001_0001_docs_modules_authority.md (REKOR-RECEIPT-GAPS-314-005) and Authority TASKS.

Determinism & offline

  • Use sha256sum over normalized JSON and markdown; store in gaps/SHA256SUMS.
  • No network dependencies; examples should reference local bundle paths.
  • Signing to follow Authority key once available; until then envelopes remain TODO but paths are fixed.