A language model learns from text collected up to a cutoff date, then stays fixed. A vulnerability disclosed after that date is simply not in its memory, and the model may still answer as if it knew. The fix is to retrieve current advisory data and give it to the model in the prompt.
What the model does when it does not know
OWASP describes hallucination as the model filling gaps in its training data with statistical patterns, producing answers that sound correct. For a new CVE, that can mean a plausible description of the wrong flaw, a made up affected version range, or a confident "no known issues".
There is a second, quieter problem. Even for older CVEs, details get revised. Affected ranges are corrected, fixed versions appear, exploitation status changes. A model remembers one moment.
Which questions are time sensitive
| Question | Changes over time? |
|---|---|
| What is this class of bug (for example SQL injection)? | Rarely |
| Is version 2.3.1 of a library affected? | Yes |
| Is a fix available? | Yes |
| Is the flaw exploited in the wild? | Yes |
| What does the advisory recommend? | Sometimes revised |
Ask a model freely about the first row. Use live data for the rest.
A grounding recipe
- Fetch the current advisory record from the source of truth for your ecosystem.
- Fetch exploitation status from a dated, authoritative list.
- Pull your own version information from your lockfile or inventory.
- Put all three in the prompt with labels and fetch dates.
- Ask the model to answer only from that material and to say what is missing.
- Check that quoted version numbers in the answer appear in the supplied data.
Retrieval of trusted external sources is the first mitigation OWASP lists for misinformation, followed by cross-verification and human oversight.
What to put in the answer template
- Affected, not affected, or unknown
- The exact evidence line it relied on
- The date of the data
- A fix version if one is listed
- A confidence note, with "unknown" allowed
Making "unknown" an acceptable answer reduces forced guesses.
Watching for new disclosures
Prompting on demand covers questions you think to ask. For coverage of what you did not think of, continuous monitoring of your own inventory against advisory feeds notifies you when something relevant lands, with no model memory involved. You can still use a model afterwards to draft the ticket text.
Try it yourself
Click through it at your own pace, or open it full screen.
Click through the watch view and notice how a new disclosure reaches you without anyone asking a question.
Where Safeguard fits
Safeguard includes zero-day discovery and continuous scanning of your inventory, so new disclosures are matched to the components you run. You can try a free scan at https://gold.safeguard.sh/scan.
Related: ask an LLM to explain a CVE without hallucination.
Quick check
Does a bigger model fix the cutoff problem?
No. A larger model still has a cutoff. Supplying current data is what fixes it.
Can I trust a model with web search for new CVEs?
It helps, but confirm the page it cites is the original advisory and that the version numbers match.
Sources
- OWASP GenAI, LLM09:2025 Misinformation: https://genai.owasp.org/llmrisk/llm092025-misinformation/
Last reviewed: 19 October 2026.