CVSS v4.0 Receipts – Hardening Guide

Source advisory: docs/product/advisories/25-Nov-2025 - Add CVSS v4.0 Score Receipts for Transparency.md (CV1–CV10). This guide turns the gaps into implementable rules for Sprint 0190.

Canonical hashing (CV2)

Policy replay & backfill (CV1)

Tenant segregation & RBAC (CV4, CV9)

Deterministic exports (CV8)

v3.1 → v4.0 conversion (CV5)

Evidence provenance (CV6)

Immutability & monitoring (CV7, CV10)

Golden fixtures & locations

Implementation checklist

Receipt model (API shape)

Gateway API (Policy Engine via Gateway)

Create receipt (minimal example)

POST /api/cvss/receipts
Authorization: Bearer <token>
Content-Type: application/json

{
  "vulnerabilityId": "CVE-2025-1234",
  "policy": {
    "policyId": "default",
    "version": "1.0.0",
    "name": "Default CVSS policy",
    "effectiveFrom": "2025-12-01T00:00:00Z",
    "hash": "sha256:..."
  },
  "baseMetrics": { "av": "Network", "ac": "Low", "at": "None", "pr": "None", "ui": "None", "vc": "High", "vi": "High", "va": "High", "sc": "High", "si": "High", "sa": "High" },
  "environmentalMetrics": { "cr": "High", "ir": "High", "ar": "Medium" },
  "signingKey": { "keyId": "cvss-dev", "store": "local" },
  "createdBy": "cli"
}

Response 200 (abridged)

{
  "receiptId": "cvss-20251207-01",
  "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/CR:H/IR:H/AR:M",
  "scores": { "baseScore": 9.3, "threatScore": 9.3, "environmentalScore": 9.1, "fullScore": 9.1, "effectiveScore": 9.1, "effectiveScoreType": "Environmental" },
  "severity": "Critical",
  "policyRef": { "policyId": "default", "version": "1.0.0", "hash": "sha256:..." },
  "inputHash": "sha256:...",
  "attestationRefs": ["dsse:stella.ops/cvssReceipt@v1/sha256:..."],
  "evidence": [],
  "history": []
}

CLI and UI usage