Filter to PoC-backed CVEs and fix trending PoCs

This commit is contained in:
0xMarcio
2025-12-17 19:39:59 +01:00
parent 64e895579d
commit da14307c37
7 changed files with 99 additions and 51 deletions

View File

@@ -40,7 +40,10 @@ def enrich_kev(kev_items: List[Dict], epss_lookup: Dict[str, Dict], poc_index: D
continue
cve = cve.upper()
epss_info = epss_lookup.get(cve, {})
poc_count = len(poc_index.get(cve, {}).get("poc", []))
poc_info = poc_index.get(cve)
if not poc_info or not poc_info.get("poc"):
continue
poc_count = len(poc_info["poc"])
enriched.append(
{
"cve": cve,
@@ -92,12 +95,16 @@ def build_high_epss_not_in_kev(
epss_score = row.get("epss") or 0.0
if epss_score < threshold:
continue
poc_count = len(poc_index.get(cve, {}).get("poc", []))
poc_info = poc_index.get(cve)
if not poc_info or not poc_info.get("poc"):
continue
poc_count = len(poc_info["poc"])
output.append(
{
"cve": cve,
"epss": row.get("epss"),
"percentile": row.get("percentile"),
"summary": truncate_description(poc_info.get("desc", "")),
"poc_count": poc_count,
}
)

View File

@@ -107,10 +107,13 @@ def load_poc_index() -> Dict[str, Dict[str, object]]:
cve = str(entry.get("cve", "")).upper()
if not is_valid_cve(cve):
continue
desc = (entry.get("desc") or "").strip()
poc_links = stable_unique(entry.get("poc", []) or [])
poc_links = filter_links_by_blacklist(poc_links, blacklist)
if not desc or not poc_links:
continue
mapping[cve] = {
"desc": entry.get("desc", ""),
"desc": desc,
"poc": poc_links,
}
return mapping