Safeguard
Application Security•

Scanner Spam in Your Security Inbox: A Triage and Reply Playbook

Once you publish a contact, tool output arrives. How to sort real reports from scanner and AI noise, a reply template, and why not to turn your channel off.

Safeguard Security Team
5 min read

On 26 January 2026 the curl maintainer announced the end of curl's bug bounty, effective 31 January 2026. He wrote that the share of confirmed vulnerabilities among reports had been "somewhere north of 15%" in earlier years and "plummeted to below 5%" starting in 2025. Over the life of the program curl had confirmed 87 vulnerabilities and paid over 100,000 USD.

You do not need a bounty to get this problem. A published security@ address and a security.txt file are enough. This post is about what to do when the inbox fills with scanner output.

What's affected

Any team with a public reporting channel. Seth Larson of the Python Software Foundation described the pattern in December 2024: reports that "appear legitimate at first, requiring time to refute." The usual contents, grouped by what to do about them:

Report saysUsual verdictNotes
Missing security header on a marketing pageNot a vulnerability by itselfReal only if you show an exploit path
SPF, DKIM or DMARC recordsOut of scopeGitHub's ineligible list names "DMARC, SPF and DKIM email policy"
ClickjackingDepends on the pageGitHub lists "Clickjacking a static site" as ineligible
No rate limitingOut of scope without impactListed as ineligible by GitHub
Username or email enumerationUsually out of scopeListed as ineligible by GitHub
Outdated library versionNeeds a reachable flawGitHub lists "Use of known-vulnerable software"
Host header injectionNeeds a demonstrated attackAlso on GitHub's list

GitHub's list is one company's rules, not a standard. It is still a good starting point for your own out-of-scope section.

How to check if you're exposed

Read your last 20 reports and tag each one: real, partly real, scanner output, or unreadable. If more than half are noise, the problem is your intake, not your product.

# What does a scanner see on your marketing site?
curl -sI https://example.com | grep -i -E 'strict-transport|content-security|x-frame|x-content-type'

If that shows missing headers, fix them. It is cheaper than answering the same report forty times.

What to do now

  1. Add an out-of-scope list to your policy, and include "automated scanner output without a demonstrated impact."
  2. Ask for three things in every report: the affected URL or version, steps to reproduce, and what an attacker gains. Reports without them get one reply asking for them.
  3. Use a short template. Larson's advice is to put in the same effort the reporter did, reply briefly, ask for justification, and move on if nobody answers.
Thanks for writing. We could not reproduce an impact from this report.
Please send the steps, the affected URL and what an attacker gains.
If we hear nothing in 7 days we will close it. Our scope is at
https://example.com/security.
  1. Check the reporter. A brand new account, no public identity or a trail of low quality credited reports is a signal.
  2. Check whether the flaw is in your product or in the reporter's proof of concept.
  3. Keep a "closed as not applicable" label so you can count and, later, tighten the policy.
  4. Never switch the channel off. Real reports are rare and valuable.

How to avoid this trap

  1. Publish scope, so a reporter knows in advance that header nits are out.
  2. Do not pay for volume. The curl post suspects the money incentive drives much of the abuse.
  3. Fix cheap findings in bulk, such as missing headers, so the same scanner stops producing the same report.
  4. Keep one person on triage with a rotation, so the work does not wear down one maintainer.

Why it matters

The curl announcement lists three trends: an explosion in low quality AI reports, lower quality in reports that were not obviously slop, and reporters with a bad faith attitude. The result is a team that stops reading. A brief template and a clear scope are how a small team stays able to read the one report in twenty that is real.

Try it yourself

Run a scan against a test copy of your own app, then sort every finding into "reachable by an attacker with impact" and "not." That is the same sort you will apply to inbound reports.

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

Quick check

Is a missing security header always safe to ignore?

No. It is not a vulnerability on its own, but it can matter on a page with sensitive actions. Ask for the exploit path.

What should a first reply to a vague report ask for?

The affected URL or version, reproduction steps, and what an attacker gains.

Sources

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.