惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
L
LangChain Blog
Y
Y Combinator Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
V
Visual Studio Blog
小众软件
小众软件
月光博客
月光博客
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
美团技术团队
量子位

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Why CVSS Isn't Enough: Prioritising Vulnerabilities with ...
Андрей Гордиенко · 2026-06-18 · via DEV Community

Андрей Гордиенко

--
title: "Why CVSS Isn't Enough: Prioritising Vulnerabilities with EPSS and CISA KEV"
published: false
description: "Severity tells you how bad a vulnerability is. EPSS and CISA KEV tell you how likely it is to be exploited. Here's how to combine them into a real fix-first order."

tags: security, cybersecurity, devops, opensource

If you've ever run a vulnerability scan, you know the feeling: hundreds of findings,
all sorted by CVSS, and no realistic way to fix them all. So you start at the top with
the 9.8s and work down. The problem? CVSS measures impact, not likelihood. A
critical-severity bug that nobody is exploiting can quietly outrank a medium-severity
bug that attackers are actively weaponising right now.

Two freely available data sources fix this: EPSS and the CISA KEV catalog.

EPSS — the Exploit Prediction Scoring System

EPSS, maintained by FIRST.org, is a model that outputs a
score between 0 and 1 estimating the probability a given CVE will be exploited in the
wild within the next 30 days
. It's recalculated daily from real-world signals.

  • EPSS 0.97 → almost certainly going to be attacked soon.
  • EPSS 0.02 → very unlikely, even if the CVSS is high.

Because it updates daily, a CVE that looks quiet today can spike the moment a public
exploit drops.

CISA KEV — Known Exploited Vulnerabilities

The CISA KEV catalog is
an authoritative list of CVEs confirmed to be actively exploited. If something is in
KEV, it isn't theoretical — it's being used by attackers in the real world, and it
belongs at the very top of your queue regardless of its EPSS or CVSS.

CVSS vs EPSS: two different axes

Think of it as:

  • CVSS = impact — how bad it is if exploited.
  • EPSS = likelihood — how probable exploitation actually is.

You need both. The strongest fix-first order combines all three signals:

  1. KEV first — confirmed active exploitation.
  2. then EPSS — highest exploit probability.
  3. then severity — CVSS as the tie-breaker.

A worked example

Say a scan returns four findings. Sorting by CVSS alone puts the two 9.8s on top — but
that's not where the real risk lives:

Finding CVSS EPSS KEV? Fix-first rank
SMBv1 RCE (MS17-010) 9.3 0.97 Yes 1
OpenSSH regreSSHion 8.1 0.92 Yes 2
Obscure parser bug 9.8 0.04 No 3
Weak TLS ciphers 5.3 0.03 No 4

The CVSS 9.8 parser bug drops below two lower-severity issues because almost nobody is
exploiting it, while the KEV-flagged SMBv1 and OpenSSH bugs are being actively
weaponised. That re-ordering is the point.

Operationalising it

  • Treat everything in KEV as "patch now".
  • Pick an EPSS threshold that matches your capacity — many teams use ≥ 0.1 (a 10%+ chance in 30 days) as "act soon".
  • Re-pull EPSS regularly — it's a moving target.
  • Don't drop CVSS entirely; use it to break ties between similarly-likely findings.

Doing it without spreadsheets

Stitching EPSS and KEV onto scanner output by hand gets old fast. I ended up building it
into an open-source scanner — ShadowSecurityScanner
which folds EPSS and KEV onto every finding automatically and sorts by that
KEV → EPSS → severity order, including in its SARIF/PDF exports. It's free, MIT-licensed,
and runs as a single desktop app on Windows, macOS and Linux. But the concept is
tool-agnostic: however you scan, prioritising by exploitability instead of raw severity
is one of the highest-leverage changes you can make to a remediation workflow.

Further reading: What are EPSS and CISA KEV?