Why Low CVE Counts Mask the Danger of Prompt Injection
Prompt injection ranks No. 1 on the OWASP Top 10 for LLM Applications for three consecutive years, yet drops to No. 12 when evaluated against 6,639 labeled real-world incidents because the attack operates invisibly to vulnerability scanners, according to an analysis published on arXiv on August 18 by project leaders Kyriakos “Rock” Lambros and Steve Wilson.
The Tech TL;DR:
- The Core Disconnect: Expert consensus ranks prompt injection at No. 1, while public incident databases place it at No. 12, reflecting a structural gap where scanners cannot detect prompt manipulation as a traditional CVE product defect.
- Architectural Defense: Security experts emphasize that code-level prompt filtering fails, requiring external authorization gates where AI agents can propose infrastructure changes but cannot grant themselves execution rights.
- Operational Shift: Enterprise engineering teams are advised to treat the OWASP Top 10 as an architectural coverage map rather than a reactive CVE queue.
Why Vulnerability Scanners Miss Prompt Injection Attacks
The divergence between expert ranking and incident telemetry stems from a fundamental structural gap in how AI systems process inputs. According to OWASP project co-leads Kyriakos “Rock” Lambros and Steve Wilson, prompt injection hides instructions inside standard content reads—such as log entries, incoming support tickets, or retrieved documents. The targeted AI agent then executes unauthorized tool calls using legitimately held credentials. Because this attack chain does not trigger a product defect, vulnerability scanners register zero common vulnerabilities and exposures (CVEs), leaving security teams blind to active exploit attempts.
CrowdStrike’s 2026 Global Threat Report documented this underlying pressure, finding that adversaries injected malicious prompts into legitimate generative AI tools at more than 90 organizations throughout 2025 to steal cryptocurrency and credentials under the classification “Prompts are the New Malware.” Despite this documented attempt volume, the public incident corpus struggles to capture the true breadth of the risk.
Evaluating Expert Consensus Against Incident Records
The comparative analysis by Lambros and Wilson matched 7,714 LLM security incidents—drawn from CVE, GitHub Security Advisories, OSV, and the AIAAIC AI-harm database—against a 20-entry taxonomy. Using a Bayesian model to correct for classifier errors, the researchers found no statistically detectable agreement between expert human judgment and the public incident record. Cohen’s kappa reached 0.20 with a 90% confidence interval spanning from negative 0.16 to 0.57. As the authors write, the interval crosses zero, indicating that expert rankings and incident records may agree only by chance.
“We had two ways of measuring the same risk, expert judgment and the public incident record, and they disagree with each other. Neither one is the truth,” Lambros stated in written responses to VentureBeat. This weak statistical correlation highlights the inherent limitations of relying strictly on backward-looking incident volume.
“The first thing I’d do is put an authorization gate outside the model: the agent can propose the exact DNS change, but it cannot grant itself the authority to make it,” said Steve Wilson, Chief AI and Product Officer at Exabeam and project co-lead for the OWASP Top 10 for LLM Applications, addressing how to mitigate indirect prompt injection payloads.
Implementing Architectural Safeguards and Authorization Gates
Relying on system prompts to enforce security boundaries is fundamentally insufficient because language models process trusted system instructions and untrusted external data at the same time. Wilson notes that security rules written inside prompts function merely as suggestions to the model rather than enforceable security controls. Deploying an external authorization gate imposes a trade-off: the agent loses the ability to improvise high-impact infrastructure changes autonomously, but it retains bounded remediation capabilities for routine tasks.
Code Implementation: Enforcing Bounded Tool Execution
To prevent an injected agent from executing unauthorized commands, developers must isolate tool execution layers from the core LLM inference loop.
class AuthorizationGate:
def __init__(self, allowed_actions):
self.allowed_actions = allowed_actions
def validate_proposal(self, agent_id, proposed_action, parameters):
if proposed_action not in self.allowed_actions:
raise SecurityError(f"Action '{proposed_action}' denied by external policy.")
# Enforce strict parameter bounds
if proposed_action == "modify_dns" and not self._verify_domain_whitelist(parameters.get("domain")):
raise PermissionError("Target domain violates strict infrastructure policies.")
return True
def _verify_domain_whitelist(self, domain):
# Placeholder for enterprise whitelist check
return domain in ["internal.corp", "secure.corp"]
The Forward Trajectory for Enterprise AI Security
Relying on static vulnerability counts provides a false sense of security. Security leaders must treat the OWASP Top 10 as an architectural coverage map rather than a reactive task queue. By isolating MCP interfaces and enforcing strict external authorization gates, organizations can maintain secure operations even when prompt injection bypasses standard perimeter defenses.

*Disclaimer: The technical analyses and security protocols detailed in this article are for informational purposes only. Always consult with certified IT and cybersecurity professionals before altering enterprise networks or handling sensitive data.*