Safeguard
Security Guides•

What should SECURITY.md say about vulnerabilities in dependencies?

Add a short dependencies section to SECURITY.md: how users report one, which versions you patch, and how you handle not affected cases. A template.

Safeguard Security Team
3 min read

Your SECURITY.md should say how to report a vulnerability, which versions you support, and how you treat issues in dependencies: where to report, how you assess whether you are affected, and how fast you aim to raise the minimum version. A short section saves repeated questions.

What GitHub expects

GitHub's documentation says a security policy should include information about supported versions of your project and how to report a vulnerability. You create it from the repository's security area, and Scorecard checks that a security policy file exists. Most maintainers stop there, and then get a steady stream of "your dependency has a CVE" issues in the public tracker.

A dependencies section stops that.

A template you can adapt

## Vulnerabilities in dependencies

If a package we depend on has a published advisory:

- Open a public issue or discussion. These are already public, so
  there is no need to report them privately.
- Tell us the advisory ID and the version of our library you use.
- We will assess whether our library is affected and reply with one
  of: affected, not affected, or under investigation.
- If affected, we will publish our own advisory and release a patch.
- If not affected, we will say why, and we may still raise the
  minimum version to quiet scanners.

If you believe our library exposes a dependency flaw in a way the
advisory does not describe, report it privately as described above.

Adjust the wording to your project. Keep it in plain words and keep it short.

Why public for known dependency advisories

An advisory that is already published is not a secret. Asking users to report it privately wastes your time. The exception is a new angle: if users think your library exposes a flaw in a way the advisory does not describe, that can be a new vulnerability and should go through private reporting.

Supported versions, honestly

State which release lines get fixes. If you only patch the latest minor version, say that. A vague table invites arguments after a vulnerability lands. A short table works:

VersionGets security fixes
Latest minor of the current majorYes
Previous majorOnly for critical issues, at your discretion
OlderNo

Write what is true for your project, even if the answer is "latest only".

Response expectations

Say what people can expect, without promising what you cannot deliver. "We try to reply within a week" is honest for a volunteer project. Do not publish a service level you will miss.

Link the related files

Point to your advisory list, release notes and, if you publish them, your VEX statements. That gives a user one place to look.

Keep it current

Review SECURITY.md when you change release lines, add maintainers or change how you receive reports. An out of date policy is worse than none, because people trust it.

Quick check

Should users report known dependency CVEs privately?

Not usually. If an advisory is already public, an open issue is fine. Keep private reporting for new problems.

Do I have to publish a response time?

No. If you do, choose one you can meet.

Safeguard can monitor your dependencies and policies continuously, which makes the assessment step in this template faster. Try the free scan.

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.