Lion Cipher Lab

Consume CSAF 2.0 VEX advisories to cut vulnerability noise (build the producer AND the consumer)

Why it matters

Every organisation that runs a software-composition scanner has the same experience: the scanner walks the bill of materials, sees that a shipped product bundles log4j-core 2.14.1, and reports a CVSS 10.0 finding on every host. The vendor of that product already knows the vulnerable code path is unreachable in their build — but historically that knowledge lived in a PDF, or a support-portal post, or a sentence in a sales call, and your scanner could not read any of it. CSAF 2.0 is the OASIS standard that fixes the transport: a strict JSON schema for machine-readable security advisories. Its…

What you'll learn

Steps in this lab

  1. CSAF is the envelope; VEX is the claim inside it
  2. Where this sits next to KEV, EPSS and SSVC — a different question entirely
  3. Set up: confirm Python and make a working folder
  4. Stage 1 — build the CSAF producer: product_tree, product_status, flags
  5. Run the producer and watch the validator quarantine a bad advisory
  6. Stage 2 — generate the estate: 142 SBOM-derived scanner findings
  7. Stage 3 — write the consumer (both engines in one file)
  8. Run the naive consumer: 142 findings become 28, and it feels like a triumph
  9. Run the strict consumer: deny by default on trust, fail open on suppression
  10. The diff: 47 findings the naive engine silently killed, and the four reasons
  11. Do it better: earn the suppression back with an attested curated overlay
  12. The judgment: what VEX can and cannot do for you

Open the full interactive lab →