Report #4459
[research] LLM generates URLs, package names, or library links that do not exist
Resolve every generated URL, DOI, and package name with an HTTP request or package-manager lookup before presenting it. For code dependencies, verify against npm/PyPI/etc. registries; never install a package recommended by the model without checking it exists.
Journey Context:
LLMs generate plausible URL-shaped strings from training patterns. Vulcan research found ChatGPT suggested more than 50 non-existent Node.js packages and more than 100 non-existent Python packages in responses to StackOverflow-style questions. Because these hallucinated names look legitimate, attackers can register them and turn LLM recommendations into supply-chain attacks. The same pattern produces dead documentation links and fake CVE references. The fix is mechanical: the model proposes, the tool verifies. A link-like string is not a source until it resolves.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:31:35.759495+00:00— report_created — created