Beweis und Prüfung
Beweisen Sie jede Entscheidung. Spielen Sie es Monate später noch einmal ab.
Entscheidungskapseln versiegeln Beweise, sodass Prüfer jede Veröffentlichung überprüfen können – offline, unabhängig, Stück für Stück identisch.
Auditor-Sicht: was Sie erhalten
Der Export einer Entscheidungskapsel erzeugt ein signiertes, inhaltsadressiertes Bundle mit den exakten Inputs und Outputs für die Release-Entscheidung.
- Genauer SBOM, der für den Scan verwendet wurde
- Eingefrorene Schwachstellen-Feed-Snapshots (NVD, OSV, Hersteller-Advisories)
- Erreichbarkeits-Evidenz (statische Call-Graph-Artefakte und Runtime-Traces)
- Policy-Version und Lattice-Regeln für das Gating
- Abgeleitetes VEX-Statement mit Begründungen
- DSSE-Signaturen über den Kapselinhalt
Quelle: Decision-Capsules-Dokumentation
Was ist ein Nachweispaket?
Inhalt
Jede Entscheidungskapsel bündelt das exakte SBOM, eingefrorene Schwachstellen-Feeds, Erreichbarkeitsgraphen, Policy-Version, abgeleiteten VEX und Genehmigungsmetadaten.
Signatur
DSSE/in-toto-Signaturen machen Pakete manipulationssicher. Wählen Sie FIPS-140-3, GOST R 34.10, SM2/SM3 oder eIDAS Kryptoprofile.
Export
Exportieren Sie Kapseln bei jedem Freigabe-Schritt. Speichern Sie im Nachweisspeicher mit WORM-Semantik für Compliance-Aufbewahrungsfristen.
Wiedergabe
Führen Sie jede historische Entscheidung mit stella replay erneut aus. Gleiche Eingaben, gleiche Ausgaben, offline oder online.
Beispielkapselstruktur
Jede Entscheidungskapsel ist ein eigenständiges Verzeichnis mit signierten Artefakten:
decision-capsule-20260126-prod-a1b2/ ├── manifest.json # Kapsel-Metadaten + Signaturen ├── sbom.cdx.json # CycloneDX 1.7 SBOM ├── sbom.cdx.json.sig # DSSE-Signatur ├── reachability/ │ ├── analysis.json # Erreichbarkeits-Verdikte │ ├── call-graph.json # Nachweis statischer Analyse │ └── analysis.json.sig # DSSE-Signatur ├── policy/ │ ├── rules.rego # Policy-Snapshot │ └── verdict.json # Gate-Entscheidung + Begründung ├── approvals/ │ └── jsmith.sig # Signatur für menschliche Freigabe └── feeds/ └── snapshot.json # Eingefrorener CVE/Advisory-Stand
Auszug aus dem Kapsel-Manifest
Das Kapsel-Manifest pinnt jeden Input und Output per Digest, damit die Entscheidung später reproduziert werden kann.
apiVersion: capsule.stellaops.dev/v1
metadata:
id: "cap-2025-12-11-abc123"
timestamp: "2025-12-11T14:30:00Z"
scan_id: "scan-xyz789"
inputs:
sbom:
format: "cyclonedx@1.6"
digest: "sha256:..."
feeds:
- name: "nvd"
snapshot: "2025-12-11"
digest: "sha256:..."
policy:
version: "corp-policy@2025-12-01"
digest: "sha256:..."
outputs:
vex:
format: "openvex"
digest: "sha256:..."
signatures:
- scheme: "DSSE"
profile: "FIPS-140-3"
signer: "build-ca@corp" Nachweiskette
Inhalt einer Entscheidungskapsel
Artefakt-Digest
SHA-256 Content-Adresse
SBOM-Snapshot
CycloneDX 1.7 / SPDX 3.0
Erreichbarkeitsnachweis
Graph + Kanten-Attestierungen
VEX-Status
Gitter-aufgelöstes Urteil
Policy-Version
Content-adressiertes Rego/DSL
Genehmigungen
Signierte Genehmigungsdatensätze
Compliance-Workflow
- 1
Prüfer fragt
"Zeigen Sie mir den Nachweis, dass diese CVE im Januar-Release korrekt behandelt wurde."
- 2
Operator exportiert
stella Capsule Export jan-release-capsule.yaml --format audit-bundle - 3
Paket verifiziert
Prüfer führt
stella capsule verify jan-release-capsule.yamlaus — Signaturen prüfen, Digests stimmen überein. - 4
Wiedergabe bestätigt
stella replay jan-release-capsule.yamlerzeugt identisches Urteil mit eingefrorenen Eingaben.
Deterministische Wiedergabe
Führen Sie die gleiche Entscheidung sechs Monate später aus – dieselben eingefrorenen Eingaben führen zu einem identischen Urteil. Kein Netzwerk erforderlich, keine Zustandsabweichung, keine Mehrdeutigkeit.
- Kapsel-Signaturen mit festgelegten Schlüsseln verifizieren.
- SBOM- und Feed-Snapshot-Digests mit dem Manifest abgleichen.
- Replay mit demselben Policy-Bundle und Erreichbarkeits-Inputs.
- Audit-Bundle mit Verdict, VEX und Nachweisen exportieren.
$ stella replay capsule.json --verify
Entscheidung vom 2025-07-15T14:32:00Z wird replayt...
Policy-Version: sha256:e5f6g7h8... (passt)
Feed-Snapshot: sha256:i9j0k1l2... (passt)
Verdikt: ALLOW (identisch zum Original)
Determinismus-Check: PASS Formate und Interoperabilität
SBOM
CycloneDX 1.7 und SPDX 3.0.1. Import aus Trivy, Grype, Syft oder nativ generieren.
VEX
OpenVEX und CSAF 2.0. Multi-Issuer-Gitterlösung mit Konflikterkennung.
SARIF
Static Analysis Results Interchange Format-Export für IDE- und CI-Integration.
Luftspaltverifizierung
Auditoren überprüfen Signaturen, prüfen die Digest-Integrität und spielen Entscheidungen ohne Netzwerkzugriff ab. Das gesamte kryptografische Material wird mit der Kapsel transportiert.
$ stella capsule verify decision-capsule.yaml --offline
Signaturprüfung: PASS (ECDSA-P256)
Digest-Match: PASS (sha256:abc123...)
Policy-Version: VALID (v3.2.1)
Evidenz-Integrität: ALLE KOMPONENTEN SIGNIERT
Verdikt: ALLOW — kein Netzwerk erforderlich Bereit, Releases auditierbar zu machen?
Entscheidungskapsel-Spezifikation lesen · Alle Funktionen ansehen
