Safeguard
Security Guides•

Why does DAST report false positives? Six common causes

DAST false positives come from generic error pages, encoded reflections, caching, rate limit pages, shared header rules and test data. How to spot each.

Safeguard Security Team
4 min read

DAST tools judge a running app by its responses, not its code, so they guess. False positives appear when a response looks like a vulnerability but is not: generic error text, encoded reflections, cached replies, rate limit pages, site wide header rules and leftover test data are the usual causes.

What DAST can and cannot see

OWASP describes dynamic scanners as programs that probe web applications normally from the outside, looking for issues such as cross site scripting, SQL injection, command injection, path traversal and insecure server configuration. Because they see only the outside, they infer from behaviour. Inference is where wrong answers come from.

Six causes

CauseWhat happensHow to tell
Generic error pagesApp returns the same error for any odd input, and a rule matches the error textSame response with and without the payload
Encoded reflectionPayload appears in the page but is escapedView source: angle brackets are entities, script does not run
CachingA cached copy of an earlier response contains a payload from another requestRepeat with a unique marker and a cache busting parameter
Rate limiting or WAF pagesA block page contains words the rule likesResponse comes from the edge, not the app
Site wide rulesA missing header or cookie flag is reported on every URLOne root cause, many alerts
Test dataEarlier scans created records that now echo payloadsAlert points to stored content from a prior run

How to cut the noise without hiding bugs

  1. Fix the scope first. Exclude logout, delete and third party URLs so the scan does not break its own session or hit other people's systems.
  2. Authenticate properly. Many apparent findings are login redirects or error pages from a lost session. See authenticated DAST without wrecking the app.
  3. Tune the rule before filtering the alert. ZAP's guidance is that many scan rules offer thresholds and configuration options that control when alerts are raised, and that alert filters are for cases where a rule has no suitable threshold.
  4. Scope any filter tightly. Match on one URL pattern and one rule, not a whole rule everywhere.
  5. Measure. Track the confirmed share of alerts per rule over a few scans. A rule that is rarely confirmed is a candidate for tuning.

What not to do

Do not mark a finding as false positive because it is inconvenient. Do not disable a rule across the board because one URL misbehaves. And do not trust a scanner's confidence label as proof either way. It is a hint that needs a human check, as explained in confirming a DAST finding.

Try it yourself

Open the demo and notice how findings on different pages can share one underlying cause.

Click through it at your own pace, or open it full screen.

One factual note on Safeguard

Safeguard offers reachability analysis and policies that can help judge which findings matter. If you want a quick look at your own code, the free scan at gold.safeguard.sh/scan is a no-account place to start.

Quick check

Is a DAST false positive the same as a false negative problem?

No. A false positive is a wrong alarm. A false negative is a missed bug. Tuning to remove alarms can raise missed bugs if done too broadly.

Do all scanners produce false positives?

Yes. OWASP notes that every tool has its own strengths and weaknesses, so effectiveness varies by tool and target.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.