Safeguard
Security Guides•

How do I read a dependency vulnerability report?

A dependency report shows the package, your version, the advisory, the affected range and the fixed version. Read them in this order to decide what to do.

Safeguard Security Team
4 min read

Read a dependency vulnerability report in this order: the package and your resolved version, the advisory identifier, the affected range, the fixed version, the dependency path, and then severity. Those six fields tell you whether you are affected, what to upgrade to, and who owns the change.

Definitions

Advisory identifier. The ID of the published record, such as a CVE, GHSA, GO or PYSEC number. One flaw can have several, linked as aliases.

Affected range. The versions the advisory says contain the flaw.

Fixed version. The first version that contains the fix, when one exists.

Dependency path. The chain from your project to the vulnerable package.

Fields in reading order

OrderFieldQuestion it answersTypical trap
1Package and resolved versionWhat exactly is in my build?Reading the range, not the resolved version
2Advisory identifierWhat is this called, and where do I read more?Counting aliases as separate issues
3Affected rangeIs my version inside it?Ranges that end at a last affected version, not a fix
4Fixed versionWhat do I move to?A fix that is a new major version
5Dependency pathWho brings it in?Several paths to one package
6SeverityHow bad in general?Treating a score as risk to you

The OSV schema expresses ranges with introduced and fixed events. A range can end at a fixed version or at a last affected version, and the schema warns that the last affected form can produce false negatives, since later versions are treated as unaffected.

A report in the wild

govulncheck separates its output into two parts. In the affected section, call stacks show your code calling the vulnerable function, with the module, the version found and the version in which it was fixed. In the informational section, the module is imported but no call stack reaches the flaw, and the tool says you may not need to take action. npm audit, by contrast, computes impact and remediation for the tree and tells you when a fix needs manual intervention.

Steps

  1. Sort the report by direct findings first, then by whether a fix exists.
  2. For each row, confirm the resolved version in your lockfile.
  3. Open the advisory. Look for affected functions, configurations and platforms.
  4. Check the fixed version for breaking changes.
  5. Trace the path and choose the closest parent to upgrade.
  6. Record the outcome: fixed, not affected, or accepted with a date.

What a report does not say

  • Whether your code calls the flawed function, unless the tool does reachability.
  • Whether the flaw is exploited in the wild. That needs other data.
  • Whether a fix will break your build.

Try it yourself

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

Open a finding and find the six fields above.

Quick check

Why are there two IDs for one finding?

They are aliases. A flaw can be published as a CVE and as a GHSA record, and databases link them.

Is a high severity score always urgent?

No. Severity describes the flaw in general. Urgency depends on whether you use the affected code and how exposed it is.

Safeguard shows these fields for each finding and adds reachability analysis. A free scan lets you see a report on a repository.

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.