Safeguard
Security Guides•

How to write a vulnerability report a security team can act on

A researcher's checklist for a vulnerability report that gets triaged fast: steps, requests, impact, privacy and a clear disclosure timeline.

Safeguard Security Team
3 min read

A good vulnerability report lets a stranger reproduce the problem in minutes. Include reproduction steps, the raw requests and responses, any proof-of-concept code, a plain statement of impact, and your intended disclosure timeline. Write for a reader who may not be a security specialist.

Lead with the impact in one sentence

The first line should say what an attacker can do. "An unauthenticated user can read another customer's invoices by changing the invoice ID" tells a triager more than a long preamble about the class of bug. Put the severity discussion after the facts, not before.

The OWASP cheat sheet makes the same point: use plain language, because the person who receives the report may be a support agent or a developer, not a security engineer.

Make it reproducible

List the steps numbered, starting from a clean state. Name the account type you used, the URL, the exact parameter and the value you changed. Then attach the evidence the cheat sheet asks for:

  • HTTP requests and responses
  • Screenshots
  • Proof-of-concept code, if you have it
  • The impact in your own words

Say what you expected and what happened instead. If the issue depends on a browser version, a feature flag or a timing window, say so. A report that works only on your machine will sit in a queue.

Keep the evidence clean

Respect privacy. Redact personal data from screenshots and logs, and stop as soon as you have shown the issue exists. You do not need to download a table of real customer records to prove that you can. Test only against accounts you own and only within the scope and rules the organization has published.

Suggest, but do not insist

General fix guidance is welcome. A confident, specific recommendation is welcome too, but only if you are sure of it. Defenders know their code and deployment better than you do, and an overconfident fix suggestion can derail a conversation.

State your timeline politely

If you plan to publish after a period, say so in the first message, in a calm tone. This is not a threat. It tells the team what clock they are on. If you are reporting through a bounty program, check its terms first, because many programs restrict publication. For common timelines, see disclosure deadlines explained.

What to leave out

Do not demand payment before revealing details, and outside a bounty program avoid raising rewards in your first message. Do not post details on social media while you are looking for the right contact. If you cannot find any contact, a national or sector CERT is a reasonable route. Our post on how to report a security vulnerability covers finding the right door.

Quick check

Do I need a working exploit to report a bug?

No. Clear steps, evidence and a credible impact statement are what matter. Proof-of-concept code helps when you have it, but a minimal demonstration is better than a weaponized one.

Should I bundle several findings in one report?

Generally one issue per report is easier to triage, track and credit. Link related reports to each other.

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.