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

Wie Nachweise durch Stella fließen
NachweisflussBildSBOMErreichbarkeitRichtlinien-UrteilMit DSSE signiertMit DSSE signiertMit DSSE signiert

Inhalt einer Entscheidungskapsel

Artefakt-Digest

SHA-256 Content-Adresse

Signiert

SBOM-Snapshot

CycloneDX 1.7 / SPDX 3.0

Signiert

Erreichbarkeitsnachweis

Graph + Kanten-Attestierungen

Signiert

VEX-Status

Gitter-aufgelöstes Urteil

Signiert

Policy-Version

Content-adressiertes Rego/DSL

Signiert

Genehmigungen

Signierte Genehmigungsdatensätze

Signiert

Compliance-Workflow

Prüfer können Entscheidungen Monate später reproduzieren
Audit-Wiedergabe-FlussEntscheidungskapselvor 6 Monatenstella replayGleiches Urteilbitgenau identisch
  1. 1

    Prüfer fragt

    "Zeigen Sie mir den Nachweis, dass diese CVE im Januar-Release korrekt behandelt wurde."

  2. 2

    Operator exportiert

    stella Capsule Export jan-release-capsule.yaml --format audit-bundle

  3. 3

    Paket verifiziert

    Prüfer führt stella capsule verify jan-release-capsule.yaml aus — Signaturen prüfen, Digests stimmen überein.

  4. 4

    Wiedergabe bestätigt

    stella replay jan-release-capsule.yaml erzeugt 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.
Terminal
$ 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.

Terminal
$ 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