Safeguard
Security Guides•

What a good automated fix PR description should contain

The fields a security fix pull request description needs so reviewers can decide fast: finding, version choice, reachability, tests, risk and rollback.

Safeguard Security Team
3 min read

A good fix PR description tells the reviewer what was found, why this change fixes it, how risky it is, and how to undo it. If a description lacks any of those, the reviewer has to rediscover them, and review time and mistakes both go up.

The fields that matter

1. The finding

Name the vulnerability identifier if one exists, the affected package, the affected version range, and where it appears in your project. Link to the advisory. A reviewer should not have to search.

2. Why this change

State the old and new versions and why this target was picked. The best answer is "the smallest release that includes the fix." If it jumps further, explain: the fixed line is unsupported, or a dependency forced it.

3. Exposure

Is the vulnerable code reachable from your application? Say how that was determined. "Reachable through function X called from module Y" is far more useful than a severity label. If it is not reachable, say so, because it changes how urgent the PR is. See the reachability demo.

4. What changed

List files touched and any packages moved in the lockfile beyond the target. Unexpected additions deserve a sentence each.

5. Test evidence

Which checks ran and passed? Which tests cover the change? If coverage is thin, say it. Honest gaps are more useful than a vague "all tests pass."

6. Risk level

Use a simple label tied to your tiers: low, medium or high, with the reason. Version distance, API changes in release notes and native components feed it.

7. Rollback

One line is enough: "Revert this squash commit to restore the previous version." If a database migration or config change is involved, say what else must be reversed. See how to roll back a bad dependency upgrade merge.

A compact template

Finding: <id or advisory link>, <package>, affected <range>
Change: <old version> to <new version> (smallest fixing release: yes or no)
Exposure: <reachable or not, with the call path>
Files: <list>, extra lockfile changes: <list or none>
Evidence: <checks passed>, <tests covering the change>
Risk: <low, medium or high>, <reason>
Rollback: <how>

What to leave out

Marketing language, severity inflation, and long pasted advisories. Link to them. The description is for a busy reviewer who has about two minutes.

Why this connects to trust

Reviewers trust PRs that show their work and distrust ones that only assert. Evidence on the PR also helps later: an auditor can see what the approver saw. The post on evidence attached fix PRs and reviewer trust covers the human side.

Quick check

Should the description be written by the tool or the person?

The tool can fill the structured fields. A person should add context only they know, such as a customer commitment or a planned migration.

Safeguard fix PRs are designed to carry this kind of evidence, including reachability, so reviewers can decide quickly. You can see how a finding looks with the free scan at gold.safeguard.sh/scan.

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.