DevelopmentSeptember 2, 2026· via DEV Community

How AI security scans can flood you with false alarms

How AI security scans can flood you with false alarms

Image : DEV Community

When Tiago Vilas Boas almost filed 23 “vulnerabilities” against open-source maintainers—XSS, CORS, CSP, even a suspicious SVG—he realized the output was noise, not signal. The model had delivered volume, but not value. The turning point came when he stopped asking “audit my code” and started writing the contract before opening the repo. Direction—what the model is allowed to assert—and discipline—what it must never fabricate—turned a flood of false positives into focused findings.

The difference between hunt and scan

Static scanners like Semgrep or CodeQL reliably catch what already exists: dangerous function calls, concatenated queries, missing headers. They’re fast, deterministic, and cheap, running on every push. But they structurally miss what isn’t there: “This route should check the resource owner before returning, and it doesn’t.” That’s a semantic gap—tenant ownership logic, which resource belongs to whom, which routes are public by design. The scanner sees the code; the human hunt sees the missing control.

Setting the guardrails

Direction means anchoring the LLM to a strict standard before it reads a file. The author pins the prompt to OWASP ASVS 5.0 with explicit requirement IDs. “Best practices” won’t cut it. Each invariant must be a single falsifiable sentence: “Every incoming webhook handler verifies the sender’s authenticity before mutating state” is hunt-grade, not opinion. Discipline enforces format: findings, observations, and hypotheses stay separate. No file:line → no finding. Invented CWE → session closed. Needs runtime → no card. No “X of Y” → not hunt. No PoC, no live requests, no rewriting production code in the same breath. The session that finds isn’t the session that fixes.

What this means tomorrow

The skeleton above fits in a prompt, but behind it sits a knowledge base that tells the model when to hunt, when to scan, what constitutes a finding, and the three gates that prevent dumping raw reports into the tracker. Without that KB, the model improvises; without the harness skills, it reads the block and moves on. It’s not about making the LLM smarter—it’s about controlling its behavior so the output matches the threat model, not the model’s imagination.

Why it matters

Unchecked AI AppSec tools risk drowning maintainers in irrelevant tickets, eroding trust in automation. Clear contracts and disciplined prompts shift the focus from volume to validity, letting scanners do what they’re good at—finding what’s there—while humans concentrate on what’s missing. The stakes aren’t algorithmic brilliance; they’re the signal-to-noise ratio in your security pipeline, and that ratio determines whether AI becomes a force multiplier or a distraction.


Source: DEV Community. AI-assisted editorial synthesis — TechnoExpress.

Read the original source on DEV Community →

← Back to home