論文閱讀分析:用大型語言模型與主動式威脅情報做自動化推理
論文基本資訊
- 論文標題:LLM-Assisted Proactive Threat Intelligence for Automated Reasoning
- 作者:Shuva Paul、Farhad Alemi、Richard Macwan
- 年份:2025
- 來源:arXiv:2504.00428v1
- 論文連結:https://arxiv.org/abs/2504.00428
- 主題:CTI、LLM、RAG、CVE、EPSS、KEV、Automated Reasoning
這篇論文的核心問題很務實:一般 LLM 就算再會說,也很難處理「剛剛才公開」的漏洞與威脅情報。作者因此提出一個相對直接但有明確實務價值的架構:把 GPT-4o + RAG + 持續更新的 threat intelligence feeds 組成一個 cyber-reasoning system,讓系統不只會回答靜態知識,還能針對新揭露 CVE、已知遭利用漏洞(KEV)、以及高 EPSS 風險項目給出比較即時的分析。
如果把它放進近年的 CTI / AI 論文脈絡來看,這篇不是在追求很花俏的 agent orchestration,也不是要訓練一個新的資安基礎模型;它想證明的是另一件事:只要把更新中的漏洞知識源、合理的 embedding、向量檢索與生成模型接對,LLM 在 threat intelligence 場景的可用性就會立刻提升。
論文想解決什麼問題?
作者指出,傳統資安分析方法往往是靜態、批次式、且高度依賴既有規則或簽章,這很難跟上快速演化的攻擊面。即使 GPT-4o 這類大型模型有不錯的語言理解能力,也仍然存在一個根本限制:模型的知識截止點。因此一旦問題涉及最近才揭露的 CVE、最新被列入 CISA KEV catalog 的漏洞,或是近期 EPSS 分數快速升高的風險項目,純模型回答通常就會失準,甚至直接回答「我不知道」。
這篇論文的研究目標,就是把這個問題轉化成一個工程化系統設計問題:
- 如何持續抓取與更新 threat intelligence feeds?
- 如何把這些情報轉成可檢索的語意表示?
- 如何在使用者提問時,把最新脈絡餵給生成模型?
- 如何讓系統在不知道時明確說不知道,而不是亂補?
資料來源:不是只看 CVE,而是把 CVE / CWE / EPSS / KEV 一起拉進來
作者的 threat intelligence feed 主要由四類資料組成:
- CVE:漏洞條目與描述
- CWE:底層 weakness 類型
- EPSS:漏洞遭利用機率分數
- KEV:已知在野外遭利用的高優先漏洞
文中列出的資料規模也值得記一下:
- CVE:約 255,158 筆
- CWE:約 963 筆
- EPSS:約 251,953 筆
- KEV:約 1,126 筆
這個設計的好處在於,它不是把漏洞只當成一段描述文字,而是把漏洞本身、弱點類型、被利用機率與是否已被實際利用這幾個不同層次的證據一起放進系統。對真正的威脅情報工作來說,這樣才比較接近 analyst 的判斷流程:一個 CVE 的重要性,不只是它存不存在,而是它有什麼 weakness、是否已知被利用、利用機率多高、以及修補優先度如何。
系統架構:Patrowl + all-mpnet-base-v2 + Milvus + GPT-4o + LangChain
論文提出的架構其實相當清楚,可以拆成五個元件:
- Patrowl framework:自動抓取並更新 threat intelligence feeds
- Embedding model:使用
all-mpnet-base-v2產生 768 維向量 - Vector database:把向量存進 Milvus,做相似度檢索
- Generator:使用 GPT-4o 做最終生成
- Orchestration:用 LangChain 串起 retrieval 與 generation pipeline
如果用一句話濃縮,就是:先用 Patrowl 維持 feed 新鮮度,再用 mpnet 把 query 與漏洞資料嵌入同一語意空間,用 Milvus 找最相關上下文,最後把檢索結果交給 GPT-4o 做敘述與推理。
檢索與相似度:論文明講 cosine similarity 與 L2 distance
這篇雖然不是數學味很重的論文,但作者還是把檢索層的核心定義講清楚。文中說明,embedding 後的 query 與情報資料會放在同一向量空間中,並使用相似度指標做 ANN(Approximate Nearest Neighbor)檢索。
論文列出的兩個主要距離/相似度概念是:
- Cosine similarity:衡量兩向量夾角相近程度
- L2 distance:衡量歐氏距離
其中 cosine similarity 公式為:
Cosine Similarity(A, B) = (A · B) / (||A|| ||B||)
L2 distance 則為:
L2 Distance(A, B) = ||A - B||_2 = sqrt( Σ(A_i - B_i)^2 )
在實作上,作者主要強調使用 cosine similarity 來找最貼近語意的 threat intelligence context。這一點雖然常見,但在 CTI 場景特別重要,因為 analyst 的 query 往往不是精準主鍵查詢,而可能是自然語言問題、模糊表述、或夾帶推論需求的敘述式問題。
為什麼選 all-mpnet-base-v2?
論文的 embedding 模型選擇是 all-mpnet-base-v2。作者認為它在計算成本與語意表徵能力之間取得不錯平衡,能生成 768 維 dense vectors,足以支撐大量 threat intelligence 條目的檢索。
這個選型透露出這篇論文的整體風格:它不是要炫耀最先進 embedding leaderboard,而是選一個成熟、通用、工程上可快速落地的方案。對很多真實系統來說,這其實是合理選擇。但作者後面也坦承,embedding model 本身仍然是整個系統的脆弱點之一,尤其面對模糊查詢與對抗式輸入時,檢索品質會直接決定生成品質。
Milvus 與向量資料庫的角色
論文使用 Milvus 作為向量資料庫,理由是它適合高維向量的即時相似度搜尋,並支援水平擴展與多種索引方法。這代表作者不是只把 RAG 當成概念驗證,而是真的把它放在一個可擴展的資料結構上。
對 CTI 來說,這很重要。因為 feed 不是靜態文件庫,而是會持續增加、更新、修正的資料流。若沒有一個可以支撐即時查詢與大規模向量儲存的底層,所謂的「real-time threat reasoning」就很容易只停留在 demo 階段。
LangChain 與 Prompt 設計
在 orchestration 上,作者使用 LangChain 負責把 query preprocessing、embedding、retrieval 與 generation 串起來。這一層的價值在於把 RAG pipeline 模組化,方便替換 embedding model、資料庫、生成模型或資料來源。
另外一個值得注意的細節是,論文明確提到他們在 prompt 設計上加入了不確定時回答「I don’t know」 的指示,以降低 hallucination。這看似簡單,但對 CTI 任務非常重要。因為在這種場景下,裝懂通常比承認不知道更危險,尤其當輸出會影響 patch prioritization、漏洞處置或分析結論時。
案例一:新揭露 CVE 的即時性優勢
作者首先用 CVE-2024-39471 做示範。這類剛揭露不久的 CVE,對沒有最新資料的 vanilla GPT-4o 來說,常見反應就是不知道;但透過 RAG 系統,模型可以根據新抓到的 feed 提供具體說明,例如指出該漏洞和 Linux kernel drm/amdgpu driver 的 out-of-bounds read 問題有關,並描述修補思路是在錯誤處理路徑中提早回傳 -EINVAL,避免越界讀取。
這個案例的重點不是輸出文筆,而是它說明了一件很直接的事情:一旦知識來源從模型內部記憶改成外部可更新檢索,系統就能跨過模型 cutoff date 的限制。
案例二:對 KEV 的回答比 vanilla GPT-4o 更完整
第二個案例是 CVE-2024-38112,屬於已知在野外遭利用的漏洞情境。論文指出,vanilla GPT-4o 在這類問題上可能只會回「I don’t know」,但結合 RAG 後,系統能給出較完整的內容,包括:
- 漏洞類型與受影響平台
- 對機密性、完整性、可用性的影響
- 建議處置方式
- 修補或處理期限
- 是否已知被勒索軟體活動使用
這裡可以看出作者想做的不只是「回答漏洞是什麼」,而是把威脅情報查詢提升成一個可操作的 decision support interface。也就是說,回答不是停在定義層,而是要能支援 analyst 或防守方後續的優先處理判斷。
案例三:高 EPSS CVE 的篩選與排序
第三個案例聚焦在高 EPSS 分數漏洞。這其實是很有實務價值的情境,因為很多組織的 patch prioritization 問題,不是缺漏洞清單,而是缺一個能把「當前最值得先處理的項目」快速指出來的介面。
文中舉例,系統可以從檢索到的上下文中列出高 EPSS CVE,例如:
- CVE-2019-16758(EPSS 0.29708)
- CVE-2006-3581(EPSS 0.28304)
- CVE-2006-0671(EPSS 0.17811)
- CVE-2004-0599(EPSS 0.10541)
相對地,沒有即時資料來源的 vanilla GPT-4o 只能泛泛地說自己沒有 real-time access,建議使用者去 EPSS 網站查。這差距很能反映本論文的主要貢獻:不是讓 LLM 憑空變聰明,而是讓 LLM 被放進一個能接觸即時證據的架構裡。
對抗式測試:系統的強項在生成端,弱點反而在檢索端
這篇論文一個不錯的地方,是作者沒有只展示成功案例,也做了 adversarial robustness 測試。兩個例子都很有代表性:
- Misleading Vulnerability Attributes:故意在 query 中加入錯誤敘述,例如把 CVSS 9.8 的漏洞說成 low severity
- Ambiguous Queries:使用模糊問法,例如只問某 CVE 的 resolution,而不提供足夠上下文
測試結果很誠實:當 embedding 沒把正確上下文抓回來時,生成模型雖然不一定胡說八道,但也可能只能保守地說無法確認。換句話說,這個系統最大的風險不是 GPT-4o 突然幻想,而是 retrieval 先失手,導致 generator 根本拿不到該有的證據。
作者甚至直接指出,若先用一個 chain-of-thought 式過程,把正確 CVE context 額外提供給模型,模型其實就能成功駁斥錯誤敘述或正確理解模糊問題。這說明本系統的瓶頸比較偏向 retrieval robustness,而不是生成能力本身。
這篇論文最值得記住的技術訊息
- 關鍵提升來自 feed freshness,不是單靠模型參數。
- CTI query 的價值在於結合 CVE / CWE / EPSS / KEV 多源證據。
- RAG 的實務瓶頸在 embedding 與 retrieval,而不只是 generator hallucination。
- 模組化設計讓系統可替換資料源、向量庫、模型與部署方式。
論文還在 discussion 中提到,這個框架可以繼續擴充其他威脅情報來源,也可以把 human user 換成 LLM agent,甚至作為 cron-job 或排程任務持續跑。這一段雖然偏展望,但對自動化 SOC / CTI pipeline 來說確實合理。
限制與不足
這篇論文的價值很清楚,但限制也同樣明顯。
- 評估方式以案例展示為主,不是大規模 benchmark,因此更像工程 proof-of-concept。
- 對抗測試透露出 embedding model 能力不足,尤其是模糊 query 與誤導性敘述情境。
- 使用 GPT-4o 作為核心 generator,代表成本、可重現性與部署自主性仍要另外考量。
- 缺少更細的量化比較,例如 top-k retrieval quality、precision/recall 或多輪推理的整體效益分析。
不過從另一個角度看,這些限制也剛好說明了這篇文章的定位:它不是要發明新的理論,而是要證明一條對資安場景很實際的路徑——把新鮮 threat feeds 接進 RAG,LLM 在漏洞與威脅情報問答上的可用性就會明顯提升。
總結
LLM-Assisted Proactive Threat Intelligence for Automated Reasoning 的重要性,不在於它提出了一個極度複雜的架構,而在於它把很多人早就直覺感受到的問題,用清楚的系統設計證明出來:在 CTI 場景裡,最新資料比模型記憶更重要;檢索品質比漂亮回答更重要;模組化整合比空泛宣稱「AI 可以做資安」更重要。
若把它放在 sectools.tw 近期這批 CTI / AI 論文中,它比較像是一篇基礎但很落地的架構型論文。它沒有像多 agent 歸因系統那樣複雜,也沒有像專門訓練的 domain LLM 那樣重訓模型,但它清楚展示了:只要讓 LLM 接上持續更新的漏洞情報與正確的 retrieval pipeline,實際威脅分析能力就會比單純聊天模型高出一個層級。
