- Introduced README.md for Zastava Evidence Locker Plan detailing artifacts to sign and post-signing steps. - Added example JSON schemas for observer events and webhook admissions. - Updated implementor guidelines with checklist for CI linting, determinism, secrets management, and schema control. - Created alert rules for Vuln Explorer to monitor API latency and projection errors. - Developed analytics ingestion plan for Vuln Explorer, focusing on telemetry and PII guardrails. - Implemented Grafana dashboard configuration for Vuln Explorer metrics visualization. - Added expected projection SHA256 for vulnerability events. - Created k6 load testing script for Vuln Explorer API. - Added sample projection and replay event data for testing. - Implemented ReplayInputsLock for deterministic replay inputs management. - Developed tests for ReplayInputsLock to ensure stable hash computation. - Created SurfaceManifestDeterminismVerifier to validate manifest determinism and integrity. - Added unit tests for SurfaceManifestDeterminismVerifier to ensure correct functionality. - Implemented Angular tests for VulnerabilityHttpClient and VulnerabilityDetailComponent to verify API interactions and UI rendering.
1.7 KiB
1.7 KiB
AirGap Import & Verify (runbook outline)
Related advisory: docs/product-advisories/25-Nov-2025 - Air‑gap deployment playbook for StellaOps.md (AG1–AG12). Implements AIRGAP-VERIFY-510-014.
Prerequisites
offline-kit/manifest.json+manifest.dsseandmirror.manifestpresent.- Trust roots: Rekor/TUF roots, Authority signing roots, AV/YARA public keys.
- Tools:
cosign(or Stella verifier),sha256sum,yara,python3.
Steps
- Verify manifest signature
cosign verify-blob --key trust-roots/manifest.pub --signature manifest.dsse manifest.json- Sample helper:
scripts/airgap/verify-offline-kit.sh <kit-root>
- Check staleness and policy/graph hashes
- Compare
feeds[*].snapshotdates to allowed window; ensurepolicyHash/graphHashmatch target site config; fail closed on mismatch unless override signed.
- Compare
- Verify chunks and Merkle root
- For each chunk listed in manifest,
sha256sum -c; recompute Merkle root per manifest recipe; compare torootHashfield.
- For each chunk listed in manifest,
- AV/YARA validation
- Run
yara -r rules/offline-kit.yar kit/; confirmavReport.sha256matches signed report in manifest; block on any detection.
- Run
- Replay depth selection
- Modes:
hash-only(default),full-recompute,policy-freeze. Select via--replay-mode; enforce exit codes 0=pass, 3=stale, 4=hash-drift, 5=av-fail.
- Modes:
- Ingress/egress receipts
- Generate DSSE receipt
{hash, operator, time, decision}; store in Proof Graph; verify incoming receipts before import.
- Generate DSSE receipt
Outputs
- Exit code per replay mode outcome.
- Receipt DSSE stored at
receipts/{tenant}/{timestamp}.dsse. - Optional report
verify-report.jsonsummarizing checks.
Expand with concrete scripts once tasks 510-010..014 land.