Cheatsheet
One page. What to do, in order. For the full reasoning, see the Guide.
info
Draft under review before the first release. Corrections and feedback are welcome.
First step
- Do: acknowledge the report, even before you have assessed it (§3).
- Don't: take it public, go silent, or panic (§1).
Mental model
- A private workspace now, a public moment when you publish, and very little in between that the world ever sees (§1).
- Keep the vulnerability private until a fix exists and ships.
- Only the reporter's first message becomes public; the rest of the thread never does (§2).
- You do not owe anything to anyone, even while dealing with a security report.
The checklist
- Acknowledge the report → §3
- Triage: accept, reject, or rescope → §4
- Prepare the fix, privately → §5
- Prepare the advisory: title, versions, score, CVE, credit → §6
- Coordinate publication: merge, release, publish, announce → §7
- Wrap up: reconstruct the history, post-mortem → §8
Avoiding the gotchas
The mistakes that bite first-timers, all in one place:
- Pushing the fix to a public branch before you are ready (§5).
- Deleting the private fork too early, or losing what is in it; publishing deletes the fork, so collect what you need first (§7).
- Forgetting to credit the people who helped (§6).
- Using
--no-verifyand skipping security hooks (§5). - Too much in the description, handing attackers a ready-made exploit (§6).
- Too little in the description, starving the tools that consume it (§6).
- Reserving the CVE too early (before you have accepted it) or too late (scrambling at publish) (§6).
- Fixing silently with no advisory: downstream stays blind, scanners get no signal, and users never learn to upgrade (§5).
- Not watching your repository's security alerts, so the next report sits unseen (§9).