打造 CVE 與漏洞情報 Agent:把 CISA KEV、NVD、EPSS 與 MITRE ATT&CK 整合進單一 API

每個資安團隊都被 CVE 淹沒。訊號不在嚴重度 —— 而在一個漏洞是否正被利用、以及被利用的機率有多高。這篇講的是如何打造一個融合 NVD、CISA KEV、EPSS 與 ATT&CK 的 Agent,回答「我該先修補什麼?」。
一句話總結
- •只看 CVSS 嚴重度會高估:大多數「嚴重」CVE 從未被利用。真正的優先排序需要再疊上 CISA KEV(已知遭利用)+ EPSS(被利用的機率)。
- •四個來源:NVD(CVE 紀錄 + CVSS)、CISA KEV(權威的「在野遭利用」清單)、EPSS(每日更新的 0–1 利用機率分數)、MITRE ATT&CK(提供脈絡的戰術/技術)。
- •API Pick Cybersecurity Search 把這四者全包在單一 POST 端點背後 —— 每次呼叫 10 credits,只在成功時計費 —— 讓 Agent 不必跑四隻爬蟲就能拿到融合後的漏洞情報。
- •Agent 模式:拉出 CVE、檢查是否在 KEV 名單、讀取 EPSS 分數、對應到 ATT&CK 技術,再依「先看遭利用」、再 EPSS、再 CVSS 排序。
- •這是檢索,不是掃描器:它告訴你關於某個漏洞「已知」與「很可能」的事,用來排定人工分流的優先順序 —— 而不是用來授權自動化行動。
嚴重度是錯誤的排序鍵
一個按 CVSS 分數修補的漏洞計畫,既忙碌又無效。國家漏洞資料庫(National Vulnerability Database)列出數萬個 High 與 Critical 的 CVE;其中絕大多數從未被利用。與此同時,一個在野已有可運作 exploit 的「Medium」卻躺在待辦清單裡。一個資安 Agent 該回答的問題不是「這能有多糟」 —— 而是 「我今天該先修補什麼。」
回答這個問題,需要把四個資料來源融合在一起。每一個都是免費且公開的;每一個都有自己的格式與更新節奏。
四個來源
NVD —— CVE 紀錄
NIST 的國家漏洞資料庫。權威的 CVE 清單,含 CVSS 向量、受影響產品(CPE)與參考資料。這是「這是什麼漏洞」的基準層。優點:權威且完整。缺點:只看 CVSS 會高估嚴重度。
CISA KEV
已知遭利用漏洞(Known Exploited Vulnerabilities)目錄 —— CISA 權威列出已確認在野遭利用的 CVE,並附上美國聯邦機構的修補期限。一個 CVE 只要上了 KEV,就直接插隊到最前面。優點:漏洞管理中訊號最強的單一旗標。
EPSS
FIRST.org 的利用預測評分系統:一個每日更新、介於 0–1 的機率,代表某個 CVE 在未來 30 天內被利用的可能性。它把「可能被利用」變成「可能性有多高」。優點:可對應到真實攻擊者行為的機率排序。
MITRE ATT&CK
對手戰術與技術的知識庫。把一個漏洞對應到它在攻擊鏈中的角色。優點:把一個 CVE 變成一個你的偵測與應變計畫用得上的作戰敘事。
一個端點,融合情報
Cybersecurity Search 把 NVD、CISA KEV、EPSS 與 MITRE ATT&CK 全包在單一 POST 端點背後 —— 每次呼叫 10 credits,只在成功時計費。傳入一個 CVE ID 或一段自然語言查詢;結果會以融合過、已為 LLM 預先整形的形式回來。把它與 Web Search(抓廠商公告)和 Extract(拉出整頁公告)搭配使用。
import httpx, os
API, HEADERS = "https://api.apipick.com/v1", {"x-api-key": os.environ["APIPICK_KEY"]}
def vuln_intel(query: str):
r = httpx.post(f"{API}/search/cybersecurity",
headers=HEADERS, json={"query": query})
r.raise_for_status()
return r.json()["results"]
# "what should I patch first across NVD + KEV + EPSS + ATT&CK?"
records = vuln_intel("actively exploited Apache and VMware vulnerabilities this month")
# Rank: KEV-listed first, then by EPSS, then CVSS. Feed the ranked,
# cited list to your LLM to summarize the worklist for an analyst.自建 vs 採購
| 自己接 | API Pick | |
|---|---|---|
| 來源 | NVD + KEV + EPSS + ATT&CK,各自分開 | 四者全包,融合 |
| 格式 | 4 種結構 + EPSS CSV | 1 種 JSON 結構 |
| 資料新鮮度 | 你得排程 4 次同步 | 每次呼叫都即時 |
| 對 LLM 友善 | 你得各自正規化 | 預先整形 + 來源 URL |
| 成本 | 基礎設施 + 維運 | 每次呼叫 10 credits,只在成功時 |
你能打造什麼
除了修補優先排序助理之外:一個每日 KEV 監看 Agent,當你技術棧裡的某個 CVE 登上遭利用清單時發出告警;一個分流機器人,把掃描器匯出的結果轉成一份排序過、附引用的待辦清單;一個分析師副駕,用淺白的語言解釋某個 CVE 的 ATT&CK 意涵。模式相同 —— 融合檢索、以「先看遭利用」排序、附上來源做綜整。拿一把免費金鑰(100 credits,免綁卡),把你的 Agent 指向它。
常見問題
為什麼修補優先排序光看 CVSS 嚴重度還不夠?
因為嚴重度衡量的是潛在影響,而非被利用的可能性。被評為 High 或 Critical 的 CVE 有數萬個,但其中真正在野遭利用的只是一小部分。如果你只按 CVSS 修補,就會把心力花在攻擊者根本不碰的漏洞上,卻漏掉那個被評為中等、卻正遭積極利用的漏洞。現代做法是在 CVSS 之上疊加 CISA KEV(是否已知遭利用?)與 EPSS(被利用的機率有多高?),來排出真正重要的順序。
EPSS 是什麼,我要怎麼用它?
EPSS(Exploit Prediction Scoring System,利用預測評分系統)來自 FIRST.org,為每個 CVE 給出一個每日更新、介於 0 到 1 的分數,估計它在未來 30 天內被利用的機率。常見的策略是:凡是落在 CISA KEV 上的立即修補,接著修補 EPSS 高於約 0.1(或你依風險調校的門檻)的,剩下的再按 CVSS 分流。由於 EPSS 每天更新,Agent 應該每次重新拉取,而不是快取。
MITRE ATT&CK 補上了什麼?
脈絡。ATT&CK 對應出對手的戰術與技術(初始入侵、權限提升、資料外洩等)。把一個 CVE 連結到利用它的技術,能幫助分析師理解其在攻擊鏈(kill-chain)中的意涵 —— 不只是「這個可被利用」,而是「這個讓橫向移動成為可能」,而這會改變你的優先排序,以及你要新增哪些偵測。
這個 Agent 能自動套用修補或阻擋流量嗎?
不能 —— 而且你不該把它接成那樣。這是一層情報檢索:它融合一個漏洞的已知資訊,來排定人工分流的優先順序。自動化修補需要變更控管、測試,以及一位人類負責人。用這個 Agent 產出一份排序過、附引用的待辦清單;讓你的修補/SOAR 管線與一位工程師去執行。
資料有多即時?
NVD 與 CISA KEV 會隨著 CVE 發布與利用獲得確認而持續更新;EPSS 每日重新計算。這個端點查詢的是即時來源,所以一次 Agent 執行反映的是當下狀態。為了留下稽核軌跡,請在做出決策的當下,連同時間戳一起把 EPSS 分數與 KEV 狀態存下來。
本文使用的 API
Sarah Choy 是 API Pick 的 CEO,專注於為 AI Agent 與 LLM 工作流打造可用於正式環境的 API。