Safeguard
Security Guides•

How do you combine KEV, EPSS and reachability in one priority report?

A funnel report layers known exploitation, exploit probability and reachability over the total. What each filter means and how to avoid misreading them.

Safeguard Security Team
4 min read

Present prioritization as a funnel: total open findings at the top, then the subset with confirmed exploitation, then the subset with higher exploit probability, then the subset your code can reach. Each layer answers a different question, and the report shows how many findings survive each one.

What each filter answers

  • KEV listing: is there reliable evidence that attackers are using this vulnerability? CISA adds entries on that basis.
  • EPSS: how likely is exploitation activity in the next 30 days? FIRST describes it as a probability from 0 to 1, updated daily.
  • Reachability: can your code call the vulnerable function?
  • Exposure: is the asset reachable from the internet or an untrusted network?

These are not interchangeable. KEV is evidence of past and present use. EPSS is a forecast. Reachability and exposure describe your environment.

Reading EPSS correctly

The EPSS FAQ explains several points that trip readers up. Most scores sit near zero because exploitation has a low base rate. The FAQ notes that a score of 0.05 can already sit in the top ten percent of published vulnerabilities. It also says EPSS is not a complete risk score, since it does not know your environment. And it warns that multiplying EPSS by a CVSS score has no interpretable meaning.

So do not average or multiply the layers. Keep them as separate filters.

Build the funnel

  1. Take open findings with asset and CVE.
  2. Count the total.
  3. Flag KEV matches and count them. These go to the front of the queue.
  4. For the rest, apply your chosen EPSS threshold and count.
  5. Of those, count the reachable and the internet-facing.
  6. Show all four counts and the trend.
LayerCount to show
All openTotal
Known exploitedAlways prioritized
Higher EPSS, not KEVWatch list with a threshold you choose
Reachable and exposedWhere fixes begin

The EPSS threshold is your decision. Record it, review it, and note that scores change daily, so the same finding can move across the line.

Common mistakes

  • Dropping findings that fail every filter. Keep them tracked, with lower priority.
  • Using a snapshot EPSS value forever. Refresh it.
  • Calling the funnel a risk score. It is a prioritization aid.
  • Hiding missing data. If reachability was not analyzed, show that bucket.

Executive view

Give the four counts and one sentence on what is being fixed first. Leaders do not need the formulas, but they need to trust that the ordering has a reason.

Where Safeguard fits

Safeguard can help with the inputs behind this. It runs SBOM and dependency scanning, reachability analysis to separate reachable findings from the rest, and policies and gates that you set. You can try a free scan at gold.safeguard.sh/scan.

Try it yourself

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

Step through an exploitability check and note which signals move a finding up or down.

Quick check

Should every KEV item outrank everything else?

As a default, yes, since exploitation is confirmed. If a KEV item is on an asset you have verified is not affected, document that and move on.

Can we skip EPSS and use only KEV?

You can start there. EPSS adds a forecast for vulnerabilities not yet listed, but it is optional and should not replace KEV.

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.