Lion Cipher Lab

Catch fabricated and misattributed CVE IDs in LLM threat summaries (synthetic CVE and KEV snapshot, deterministic stub summariser)

Why it matters

Analysts now ask language models to summarise advisories, and the summary comes back studded with CVE IDs that look exactly right. Some are not. A model can invent an ID that has the perfect shape and points at nothing, attach a real ID to the wrong product, or say a bug is exploited in the wild when CISA's catalog says no. OWASP lists this as LLM09, Misinformation: confident, credible-looking output that is false. The damage is concrete - a patch ticket for the wrong product, a missed real bug, an executive briefing that cites a CVE nobody can find. The obvious defence, 'check the ID looks…

What you'll learn

Steps in this lab

  1. The words first: CVE IDs, CVE records, KEV, and the three ways a summary gets them wrong - and the fact that the model and the data here are made up
  2. Open a terminal and make a scratch folder (Windows, macOS, Linux)
  3. Build a synthetic CVE world, a snapshot frozen on 2026-06-30, and 150 advisories
  4. Write the STUB summariser and read its whole error model
  5. Write the three gates and run them: format, existence, then the whole claim
  6. v3 checks the claim, not the ID - and name aliasing nearly sinks it until you measure and fix it
  7. The honest negative: a stale snapshot calls new, real CVEs fabricated - so give the gate a third answer
  8. The second honest negative: a right ID, the right product and a wrong severity sail straight through
  9. OPTIONAL, online: re-check a REAL CVE against the live KEV feed and the NVD API (read-only, no key)
  10. Why this, not that - when NOT to use this gate, and how it differs from its neighbours
  11. The way a pro does it differently - and one experiment that proves where the false flags came from

Open the full interactive lab →