EPSS
App · Compliance & Security · 8 actions
Work with EPSS, the Exploit Prediction Scoring System published by FIRST: a daily estimate, for every CVE, of how likely it is to be exploited in the wild in the next 30 days. Feed it a scanner export or a ticket queue and get the findings back ranked by real-world risk instead of by severity, watch a CVE's score climb as exploit code appears, see the highest-risk CVEs of the week, and export any of it as CSV. No account or API key required.
Actions
| Action | What it does |
|---|---|
| Browse EPSS scores | Browse the whole scored set through every filter it can be narrowed by: a probability range, a percentile range, a CVE ID fragment, and the day the scores were published. |
| Export scores as CSV | Export matching scores as CSV, ready to attach to a ticket or drop into a spreadsheet. |
| Get a CVE's exploit probability | Read one CVE's current EPSS score: the chance it is exploited somewhere in the world in the next 30 days, where that ranks against every other scored CVE, and a plain English sentence saying both. |
| Get a CVE's score history | See how one CVE's exploit probability has moved over the past month, with the day it started, the day it peaked and where it stands now. |
| Get scoring details | Read which day's scores are current, how many CVEs FIRST has scored, and how they are spread across the four likelihood bands. |
| List recently scored CVEs | List the CVEs FIRST has newly scored or rescored in the last few days, so a scheduled workflow can report what changed since it last ran. |
| List the highest-risk CVEs | List the CVEs most likely to be exploited right now, across everything FIRST scores, highest first. |
| Score and rank a list of CVEs | Take a list of CVE IDs - a scanner export, a ticket queue, a vendor advisory - and get them back ordered by how likely each one is to be exploited in the next 30 days. |
Browse EPSS scores
Browse the whole scored set through every filter it can be narrowed by: a probability range, a percentile range, a CVE ID fragment, and the day the scores were published. Order the results and page through them. This is the general-purpose browse action; the others answer one specific question each. No API key required.
Inputs
- Scores as of
as_ofdate - Read the scores FIRST published on this day rather than the newest ones. FIRST has published every day since 2021-04-14. Leave it empty for today's scores.
- Minimum probability (%)
minimum_probabilitynumber - Only CVEs with at least this chance of being exploited in the next 30 days, as a percentage. 10 keeps roughly the top 5% of all scored CVEs. Leave it empty for every probability.From 0 to 100.
- Maximum probability (%)
maximum_probabilitynumber - Only CVEs at or below this chance of being exploited in the next 30 days, as a percentage. Pair it with the minimum to look at one band at a time. Leave it empty for no upper limit.From 0 to 100.
- Minimum percentile
minimum_percentilenumber - Only CVEs ranked at or above this percentile of everything FIRST scores, from 0 to 100. 99 means the riskiest one percent. Use this when you want a fixed share of the catalog rather than a fixed probability. Leave it empty for every rank.From 0 to 100.
- Maximum percentile
maximum_percentilenumber - Only CVEs ranked at or below this percentile, from 0 to 100. Leave it empty for no upper limit.From 0 to 100.
- CVE ID contains
cve_containstext - Only CVEs whose identifier contains this text. It matches the ID alone: FIRST publishes a score and nothing else about a CVE, so there is no product or description here to search. FIRST also matches each part of the ID separately rather than the whole string, so '2021' finds CVE-2021-1234 and CVE-2011-2021 alike, and '44228' finds that number in any year.
- Order by
sorttext - How to order the results. Most likely to be exploited first by default.One of:
probability_desc(Most likely to be exploited first),probability_asc(Least likely to be exploited first),cve_desc(Newest CVE ID first),cve_asc(Oldest CVE ID first). Default:probability_desc. - Maximum results
limitnumber - How many CVEs to return. The answer also carries the total number that matched, so a capped list never reads as a complete one.From 1 to 500. Default:
25. - Skip
offsetnumber - How many matching CVEs to skip before returning any, for reading a long list a page at a time. Leave it at 0 for the first page.From 0 to 10000. Default:
0.
Outputs
as_oftext- The day that was asked for, or empty when the newest scores were read.
countnumber- How many CVEs this step returned.
offsetnumber- How many matches were skipped before this page.
retrieved_attext- When this step read the API, in UTC.
score_datetext- The day these scores were published, as YYYY-MM-DD. FIRST rescores every CVE daily, so an answer is only reproducible alongside its day.
scoreslist- The matching CVEs, in the order asked for.
sorttext- The order the CVEs came back in.
total_countnumber- How many CVEs matched in all, before the limit was applied.
truncatedtrue/false- True when matches were left out by the limit.
Example output
{
"as_of": "2026-09-03",
"count": 2,
"offset": 0,
"retrieved_at": "2026-09-03T19:05:57Z",
"score_date": "2026-09-03",
"scores": [
{
"cve": "CVE-2021-44228",
"date": "2026-09-03",
"epss": 0.99999,
"epss_percent": 99.999,
"likelihood": "very_high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"percentile": 1.0,
"percentile_rank": 100.0,
"summary": "CVE-2021-44228 has a 100% chance of exploitation in the next 30 days, which puts it at the 100% percentile of all scored CVEs."
},
{
"cve": "CVE-2026-9854",
"date": "2026-09-03",
"epss": 0.00122,
"epss_percent": 0.122,
"likelihood": "low",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-9854",
"percentile": 0.02245,
"percentile_rank": 2.245,
"summary": "CVE-2026-9854 has a 0.122% chance of exploitation in the next 30 days, which puts it at the 2.24% percentile of all scored CVEs."
}
],
"sort": "probability_desc",
"total_count": 367633,
"truncated": true
}Export scores as CSV
Export matching scores as CSV, ready to attach to a ticket or drop into a spreadsheet. Each row carries the CVE, its probability as both a fraction and a percentage, its percentile, its band and a link to the NIST record. No API key required.
Inputs
- Scores as of
as_ofdate - Read the scores FIRST published on this day rather than the newest ones. FIRST has published every day since 2021-04-14. Leave it empty for today's scores.
- Minimum probability (%)
minimum_probabilitynumber - Only CVEs with at least this chance of being exploited in the next 30 days, as a percentage. 10 keeps roughly the top 5% of all scored CVEs. Leave it empty for every probability.From 0 to 100.
- Minimum percentile
minimum_percentilenumber - Only CVEs ranked at or above this percentile of everything FIRST scores, from 0 to 100. 99 means the riskiest one percent. Use this when you want a fixed share of the catalog rather than a fixed probability. Leave it empty for every rank.From 0 to 100.
- CVE ID contains
cve_containstext - Only CVEs whose identifier contains this text. It matches the ID alone: FIRST publishes a score and nothing else about a CVE, so there is no product or description here to search. FIRST also matches each part of the ID separately rather than the whole string, so '2021' finds CVE-2021-1234 and CVE-2011-2021 alike, and '44228' finds that number in any year.
- Order by
sorttext - How to order the results. Most likely to be exploited first by default.One of:
probability_desc(Most likely to be exploited first),probability_asc(Least likely to be exploited first),cve_desc(Newest CVE ID first),cve_asc(Oldest CVE ID first). Default:probability_desc. - Maximum rows
limitnumber - How many rows to write. The answer also carries how many matched in all, so a capped export never reads as a complete one.From 1 to 5000. Default:
500.
Outputs
columnslist- The column names, in order.
countnumber- How many rows were written.
csvtext- The CSV text, header row first.
retrieved_attext- When this step read the API, in UTC.
score_datetext- The day these scores were published, as YYYY-MM-DD. FIRST rescores every CVE daily, so an answer is only reproducible alongside its day.
sorttext- The order the CVEs came back in.
total_countnumber- How many CVEs matched in all, before the limit was applied.
truncatedtrue/false- True when matches were left out by the limit.
Example output
{
"columns": [
"cve",
"epss",
"epss_percent",
"percentile",
"percentile_rank",
"likelihood",
"date",
"nvd_url"
],
"count": 2,
"csv": "cve,epss,epss_percent,percentile,percentile_rank,likelihood,date,nvd_url\nCVE-2021-44228,0.99999,99.999,1,100,very_high,2026-09-03,https://nvd.nist.gov/vuln/detail/CVE-2021-44228\nCVE-2026-9854,0.00122,0.122,0.02245,2.245,low,2026-09-03,https://nvd.nist.gov/vuln/detail/CVE-2026-9854\n",
"retrieved_at": "2026-09-03T19:05:57Z",
"score_date": "2026-09-03",
"sort": "probability_desc",
"total_count": 533,
"truncated": true
}Get a CVE's exploit probability
Read one CVE's current EPSS score: the chance it is exploited somewhere in the world in the next 30 days, where that ranks against every other scored CVE, and a plain English sentence saying both. The step fails if FIRST has not scored the CVE yet, so use 'Score and rank a list of CVEs' when you are checking several at once. No API key required.
Inputs
- CVE ID
cve_idtextRequired - The CVE to look up, such as CVE-2021-44228. Any casing is accepted.
Outputs
cvetext- The CVE identifier, for example 'CVE-2021-44228'.
datetext- The day FIRST published this score, as YYYY-MM-DD.
epssnumber- The probability that this CVE will be exploited somewhere in the world in the next 30 days, from 0 to 1. This is FIRST's own number, as published.
epss_percentnumber- The same probability written as a percentage, from 0 to 100 - the unit every filter on this integration is set in.
likelihoodtext- The probability in one word, for branching a workflow on: 'very_high' at 50% or more, 'high' at 10%, 'medium' at 1%, 'low' below that. The bands are Lodol's reading of the score; FIRST publishes the number without them.
nvd_urltext- This CVE's record in the NIST National Vulnerability Database.
percentilenumber- Where that probability sits among every CVE FIRST scores, from 0 to 1. A CVE at 0.95 is riskier than 95% of all scored CVEs, even if its own probability is small.
percentile_ranknumber- The same rank written as a percentage, from 0 to 100.
summarytext- Both numbers said in plain English, ready to paste into a ticket or a message.
Example output
{
"cve": "CVE-2021-44228",
"date": "2026-09-03",
"epss": 0.99999,
"epss_percent": 99.999,
"likelihood": "very_high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"percentile": 1.0,
"percentile_rank": 100.0,
"summary": "CVE-2021-44228 has a 100% chance of exploitation in the next 30 days, which puts it at the 100% percentile of all scored CVEs."
}Get a CVE's score history
See how one CVE's exploit probability has moved over the past month, with the day it started, the day it peaked and where it stands now. A score that has climbed is the signal worth acting on: FIRST rescores daily, and a CVE that was negligible last week and is not now has usually had working exploit code published in between. No API key required.
Inputs
- CVE ID
cve_idtextRequired - The CVE to trace, such as CVE-2021-44228. Any casing is accepted.
- Ending on
as_ofdate - End the window on this day instead of today, to see what the score looked like at the time of an incident. FIRST has published every day since 2021-04-14. Leave it empty for the past month.
Outputs
changenumber- How much the probability moved across the window, from -1 to 1. Negative when it fell.
change_percentnumber- The same movement in percentage points, so a rise from 4% to 36% reads as 32.
cvetext- The CVE this history is for.
day_countnumber- How many days of scores came back. FIRST keeps about a month per CVE.
directiontext- 'up', 'down' or 'unchanged', for branching a workflow on without doing the arithmetic.
earliestobject- The oldest score in the window.
highestobject- The day the score peaked in the window.
historylist- One entry per day FIRST published a score, oldest first.
latestobject- The most recent score in the window.
lowestobject- The day it was lowest in the window.
nvd_urltext- This CVE's record in the NIST National Vulnerability Database.
retrieved_attext- When this step read the API, in UTC.
trend_summarytext- One sentence saying what the history shows, ready to paste into a ticket or a message.
Example output
{
"change": 0.31872,
"change_percent": 31.872,
"cve": "CVE-2026-73570",
"day_count": 31,
"direction": "up",
"earliest": {
"cve": "CVE-2026-73570",
"date": "2026-08-05",
"epss": 0.04412,
"epss_percent": 4.412,
"likelihood": "medium",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"percentile": 0.91133,
"percentile_rank": 91.133,
"summary": "CVE-2026-73570 has a 4.41% chance of exploitation in the next 30 days, which puts it at the 91.1% percentile of all scored CVEs."
},
"highest": {
"cve": "CVE-2026-73570",
"date": "2026-09-03",
"epss": 0.36284,
"epss_percent": 36.284,
"likelihood": "high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"percentile": 0.97401,
"percentile_rank": 97.401,
"summary": "CVE-2026-73570 has a 36.3% chance of exploitation in the next 30 days, which puts it at the 97.4% percentile of all scored CVEs."
},
"history": [
{
"cve": "CVE-2026-73570",
"date": "2026-08-05",
"epss": 0.04412,
"epss_percent": 4.412,
"likelihood": "medium",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"percentile": 0.91133,
"percentile_rank": 91.133,
"summary": "CVE-2026-73570 has a 4.41% chance of exploitation in the next 30 days, which puts it at the 91.1% percentile of all scored CVEs."
},
{
"cve": "CVE-2026-73570",
"date": "2026-09-03",
"epss": 0.36284,
"epss_percent": 36.284,
"likelihood": "high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"percentile": 0.97401,
"percentile_rank": 97.401,
"summary": "CVE-2026-73570 has a 36.3% chance of exploitation in the next 30 days, which puts it at the 97.4% percentile of all scored CVEs."
}
],
"latest": {
"cve": "CVE-2026-73570",
"date": "2026-09-03",
"epss": 0.36284,
"epss_percent": 36.284,
"likelihood": "high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"percentile": 0.97401,
"percentile_rank": 97.401,
"summary": "CVE-2026-73570 has a 36.3% chance of exploitation in the next 30 days, which puts it at the 97.4% percentile of all scored CVEs."
},
"lowest": {
"cve": "CVE-2026-73570",
"date": "2026-08-05",
"epss": 0.04412,
"epss_percent": 4.412,
"likelihood": "medium",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"percentile": 0.91133,
"percentile_rank": 91.133,
"summary": "CVE-2026-73570 has a 4.41% chance of exploitation in the next 30 days, which puts it at the 91.1% percentile of all scored CVEs."
},
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-73570",
"retrieved_at": "2026-09-03T19:05:57Z",
"trend_summary": "CVE-2026-73570 has risen from 4.41% on 2026-08-05 to 36.3% on 2026-09-03."
}Get scoring details
Read which day's scores are current, how many CVEs FIRST has scored, and how they are spread across the four likelihood bands. Run it to confirm the connection works, or as the opening line of a report: 'of 367,633 scored CVEs, 533 are at 50% or more today'. No API key required.
Inputs
None.
Outputs
api_urltext- The endpoint this data was read from.
epss_urltext- FIRST's page for EPSS.
first_score_datetext- The first day FIRST published EPSS scores, and so the earliest day any step here can ask for.
high_countnumber- How many are between 10% and 50%.
low_countnumber- How many are below 1%.
medium_countnumber- How many are between 1% and 10%.
model_urltext- FIRST's explanation of how the score is produced, for a reader who wants the method.
retrieved_attext- When this step read the API, in UTC.
score_datetext- The day these scores were published, as YYYY-MM-DD. FIRST rescores every CVE daily, so an answer is only reproducible alongside its day.
scored_cve_countnumber- How many CVEs carry a score that day.
very_high_countnumber- How many are at 50% or more.
Example output
{
"api_url": "https://api.first.org/data/v1/epss",
"epss_url": "https://www.first.org/epss/",
"first_score_date": "2021-04-14",
"high_count": 16823,
"low_count": 261825,
"medium_count": 88452,
"model_url": "https://www.first.org/epss/model",
"retrieved_at": "2026-09-03T19:05:57Z",
"score_date": "2026-09-03",
"scored_cve_count": 367633,
"very_high_count": 533
}List recently scored CVEs
List the CVEs FIRST has newly scored or rescored in the last few days, so a scheduled workflow can report what changed since it last ran. Narrow it to a minimum probability to be told only about the ones that matter. No API key required.
Inputs
- Days to look back
daysnumber - How far back to look. 7 covers a weekly report; 1 covers a daily one.From 1 to 120. Default:
7. - Minimum probability (%)
minimum_probabilitynumber - Only CVEs with at least this chance of being exploited in the next 30 days, as a percentage. 10 keeps roughly the top 5% of all scored CVEs. Leave it empty for every probability.From 0 to 100.
- Order by
sorttext - How to order the results. Most likely to be exploited first by default.One of:
probability_desc(Most likely to be exploited first),probability_asc(Least likely to be exploited first),cve_desc(Newest CVE ID first),cve_asc(Oldest CVE ID first). Default:probability_desc. - Maximum results
limitnumber - How many CVEs to return. The answer also carries the total number that matched, so a capped list never reads as a complete one.From 1 to 500. Default:
25. - Skip
offsetnumber - How many matching CVEs to skip before returning any, for reading a long list a page at a time. Leave it at 0 for the first page.From 0 to 10000. Default:
0.
Outputs
countnumber- How many CVEs this step returned.
daysnumber- How many days back the step looked.
offsetnumber- How many matches were skipped before this page.
retrieved_attext- When this step read the API, in UTC.
score_datetext- The day these scores were published, as YYYY-MM-DD. FIRST rescores every CVE daily, so an answer is only reproducible alongside its day.
scoreslist- The matching CVEs, in the order asked for.
sincetext- The first day of that window, as YYYY-MM-DD.
sorttext- The order the CVEs came back in.
total_countnumber- How many CVEs matched in all, before the limit was applied.
truncatedtrue/false- True when matches were left out by the limit.
Example output
{
"count": 2,
"days": 7,
"offset": 0,
"retrieved_at": "2026-09-03T19:05:57Z",
"score_date": "2026-09-03",
"scores": [
{
"cve": "CVE-2021-44228",
"date": "2026-09-03",
"epss": 0.99999,
"epss_percent": 99.999,
"likelihood": "very_high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"percentile": 1.0,
"percentile_rank": 100.0,
"summary": "CVE-2021-44228 has a 100% chance of exploitation in the next 30 days, which puts it at the 100% percentile of all scored CVEs."
},
{
"cve": "CVE-2026-9854",
"date": "2026-09-03",
"epss": 0.00122,
"epss_percent": 0.122,
"likelihood": "low",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-9854",
"percentile": 0.02245,
"percentile_rank": 2.245,
"summary": "CVE-2026-9854 has a 0.122% chance of exploitation in the next 30 days, which puts it at the 2.24% percentile of all scored CVEs."
}
],
"since": "2026-08-27",
"sort": "probability_desc",
"total_count": 1119,
"truncated": true
}List the highest-risk CVEs
List the CVEs most likely to be exploited right now, across everything FIRST scores, highest first. Run it with nothing filled in for today's top 25 at 10% or better. Use it for a weekly threat briefing, or to see whether anything in your estate has arrived at the top of the list. No API key required.
Inputs
- Minimum probability (%)
minimum_probabilitynumber - The chance of exploitation, as a percentage, a CVE must reach to be listed. Defaults to 10, which is roughly the riskiest 5% of everything scored. Lower it to widen the list.From 0 to 100. Default:
10. - Minimum percentile
minimum_percentilenumber - Only CVEs ranked at or above this percentile of everything FIRST scores, from 0 to 100. 99 means the riskiest one percent. Use this when you want a fixed share of the catalog rather than a fixed probability. Leave it empty for every rank.From 0 to 100.
- Scores as of
as_ofdate - Read the scores FIRST published on this day rather than the newest ones. FIRST has published every day since 2021-04-14. Leave it empty for today's scores.
- Maximum results
limitnumber - How many CVEs to return, riskiest first. The answer also carries how many cleared the bar in all.From 1 to 500. Default:
25. - Skip
offsetnumber - How many matching CVEs to skip before returning any, for reading a long list a page at a time. Leave it at 0 for the first page.From 0 to 10000. Default:
0.
Outputs
countnumber- How many CVEs this step returned.
minimum_probabilitynumber- The threshold that was applied, as a percentage.
offsetnumber- How many matches were skipped before this page.
retrieved_attext- When this step read the API, in UTC.
score_datetext- The day these scores were published, as YYYY-MM-DD. FIRST rescores every CVE daily, so an answer is only reproducible alongside its day.
scoreslist- The matching CVEs, in the order asked for.
sorttext- The order the CVEs came back in.
total_countnumber- How many CVEs matched in all, before the limit was applied.
truncatedtrue/false- True when matches were left out by the limit.
Example output
{
"count": 2,
"minimum_probability": 10.0,
"offset": 0,
"retrieved_at": "2026-09-03T19:05:57Z",
"score_date": "2026-09-03",
"scores": [
{
"cve": "CVE-2021-44228",
"date": "2026-09-03",
"epss": 0.99999,
"epss_percent": 99.999,
"likelihood": "very_high",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"percentile": 1.0,
"percentile_rank": 100.0,
"summary": "CVE-2021-44228 has a 100% chance of exploitation in the next 30 days, which puts it at the 100% percentile of all scored CVEs."
},
{
"cve": "CVE-2026-9854",
"date": "2026-09-03",
"epss": 0.00122,
"epss_percent": 0.122,
"likelihood": "low",
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-9854",
"percentile": 0.02245,
"percentile_rank": 2.245,
"summary": "CVE-2026-9854 has a 0.122% chance of exploitation in the next 30 days, which puts it at the 2.24% percentile of all scored CVEs."
}
],
"sort": "probability_desc",
"total_count": 17356,
"truncated": true
}Score and rank a list of CVEs
Take a list of CVE IDs - a scanner export, a ticket queue, a vendor advisory - and get them back ordered by how likely each one is to be exploited in the next 30 days. The top of the list is the work to do first. Set a minimum probability and every result also says whether it clears the bar, with a flag a workflow can branch on. CVEs FIRST has not scored yet are listed separately rather than being mistaken for safe ones. No API key required.
Inputs
- CVE IDs
cve_idslistRequired - The CVEs to score, up to 500. Any casing is accepted, and a value that is not a CVE ID is reported rather than failing the step.
- Act-on threshold (%)
minimum_probabilitynumber - The chance of exploitation, as a percentage, at which a CVE is worth acting on. 10 is a common cut. Every result says whether it clears this bar, and the answer carries a single flag for branching on. Leave it empty to rank without judging.From 0 to 100.
Outputs
above_threshold_countnumber- How many CVEs clear that threshold.
any_above_thresholdtrue/false- True when at least one CVE clears it, for branching a workflow on.
checked_countnumber- How many valid CVE IDs were looked up.
high_countnumber- How many are between 10% and 50%.
highest_cvetext- The CVE most likely to be exploited.
highest_epss_percentnumber- That CVE's probability, as a percentage.
invalidlist- The values that are not CVE IDs at all.
low_countnumber- How many are below 1%.
medium_countnumber- How many are between 1% and 10%.
minimum_probabilitynumber- The threshold this step was given, as a percentage, or empty when none was set.
retrieved_attext- When this step read the API, in UTC.
score_datetext- The day these scores were published, as YYYY-MM-DD. FIRST rescores every CVE daily, so an answer is only reproducible alongside its day.
scored_countnumber- How many of the CVEs have a score.
scoreslist- Every CVE that has a score, most likely to be exploited first. The top of this list is the work to do first.
unscoredlist- The CVEs FIRST has no score for. Usually ones published too recently to have been scored yet, or withdrawn - not safe ones.
unscored_countnumber- How many do not.
very_high_countnumber- How many are at 50% or more.
Example output
{
"above_threshold_count": 1,
"any_above_threshold": true,
"checked_count": 3,
"high_count": 0,
"highest_cve": "CVE-2021-44228",
"highest_epss_percent": 99.999,
"invalid": [
"not-a-cve"
],
"low_count": 1,
"medium_count": 0,
"minimum_probability": 10.0,
"retrieved_at": "2026-09-03T19:05:57Z",
"score_date": "2026-09-03",
"scored_count": 2,
"scores": [
{
"cve": "CVE-2021-44228",
"date": "2026-09-03",
"epss": 0.99999,
"epss_percent": 99.999,
"likelihood": "very_high",
"meets_threshold": true,
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"percentile": 1.0,
"percentile_rank": 100.0,
"summary": "CVE-2021-44228 has a 100% chance of exploitation in the next 30 days, which puts it at the 100% percentile of all scored CVEs."
},
{
"cve": "CVE-2026-9854",
"date": "2026-09-03",
"epss": 0.00122,
"epss_percent": 0.122,
"likelihood": "low",
"meets_threshold": false,
"nvd_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-9854",
"percentile": 0.02245,
"percentile_rank": 2.245,
"summary": "CVE-2026-9854 has a 0.122% chance of exploitation in the next 30 days, which puts it at the 2.24% percentile of all scored CVEs."
}
],
"unscored": [
"CVE-2026-99999"
],
"unscored_count": 1,
"very_high_count": 1
}