RAGRank 論文閱讀分析:用 PageRank 抵禦 CTI LLM Pipeline 的資料投毒

論文基本資訊

  • 論文標題:RAGRank: Using PageRank to Counter Poisoning in CTI LLM Pipelines
  • 作者:文中擷取版本未完整顯示作者名單
  • 年份:2025
  • 來源:arXiv:2510.20768v1
  • 論文連結:https://arxiv.org/abs/2510.20768
  • 主題:CTI、RAG Security、Poisoning Defense、PageRank、Source Credibility、Threat Intelligence

這篇論文切的問題非常對:當 CTI 系統開始大量把 RAG 接到 LLM 上,最大的風險可能不是模型不夠聰明,而是它太願意相信被塞進來的「假情資」。 如果攻擊者能往 threat feeds、公開部落格、假研究文、甚至仿造權威風格的報告中灌水,那麼後端 LLM 就可能把毒資料當成 grounding 依據,進一步產生錯誤歸因、錯誤緩解建議,或讓分析師追錯方向。

作者提出的核心觀點很簡潔:過去很多 RAG 防禦都在檢查「內容說了什麼」,但在 CTI 場景更該先看「這份資訊從哪裡來、被誰支撐、在整個文件網路裡有沒有權威性」。 因此他們把 PageRank 這種原本用在網頁排序的想法搬到 CTI 文件語料庫裡,做成一個 authority-aware 的檢索再排序機制:RAGRank。

這篇論文想解的,不是一般 hallucination,而是更麻煩的 corpus poisoning

很多人談 RAG 風險時,會先想到模型胡說八道。但這篇論文更在意的是另一種更貼近實務的問題:如果資料庫本身被污染,模型就可能「有根據地亂講」。

在 CTI 世界,這件事特別危險,因為攻擊者有幾個天然優勢:

  • 新興威脅一開始本來就缺乏高品質權威資料
  • 開源情資本來就有大量轉載、摘要、二手引用與噪音
  • 惡意方完全可以模仿資安報告的語氣、術語與格式
  • RAG 系統若只看 embedding 相似度,毒資料只要「看起來很相關」就容易被撈進來

所以這篇論文很重要的一個提醒是:在 CTI 裡,毒化文件不一定需要寫得很荒謬;它只要夠像真的、夠貼題,就足以進入檢索結果。

RAGRank 的直覺:先讓「可信來源」比「很像答案的來源」更有機會留下來

作者不是直接改寫 LLM,而是介入檢索流程。他們的做法分兩段:

  1. 先照平常做法,用 cosine similarity 從整個語料庫撈出 top-2k 個與查詢最相關的候選文件。
  2. 再對這些候選文件用 RAGRank 做第二次排序,只把其中 authority 較高的 top-k 真正送進 LLM。

這個設計很務實。因為如果你一開始就用權威分數硬壓相似度,容易把真正相關但比較新的資訊整個壓掉;但如果完全不看權威性,毒化文件又很可能因為語意高度貼合而混進來。作者採取的兩階段策略,本質上是在做一個折衷:先確保相關,再從相關裡面優先選可信的。

它怎麼算「可信」?三層來源權威訊號

RAGRank 的 authority score 不是憑感覺打分,而是從一個文件圖譜裡算出來。作者嘗試了三種建圖方式:

  • Explicit citations:文件之間若有明確引用,就建立有向邊。
  • Inferred citations:用 LLM 比較兩份文件的 claim 與 keyword 重疊度,推斷後者是否可視為延續或引用前者。
  • Claim extraction:把文件拆成更細的 claims,再用 NLI 模型判斷 claim 之間是否存在 entailment。

正式實驗裡,作者主要展示的是 inferred citations 版本。它的想法不難懂:即使企業內部或公開 CTI 語料並沒有標準引用格式,系統仍能透過 LLM 去判斷兩篇文件在論述上是否延續同一脈絡,然後建立一個「誰支撐誰」的圖結構。

接著就能把 PageRank 套進來。若一份文件被很多高品質文件支持,它的 authority 就該更高;若它只是一篇孤立、缺乏支撐、甚至跟其他文件論述接不上的內容,它就不該在檢索中被過度信任。

數學結構不複雜,但很適合 CTI 現場

論文的公式其實相當乾淨。核心先是標準 PageRank:

  • 以文件為節點
  • 以引用/推論引用/claim entailment 為邊
  • 以邊權重反映支持程度

之後作者再加兩個非常符合 CTI 實務的修正:

  1. Time decay:避免舊文件因為歷史累積而永遠霸榜。畢竟 CTI 常常是新的資訊更重要,太舊的高權威資料未必仍適用。
  2. Author credibility:如果某位作者或來源過去常產出高 authority 文件,新的文件可以獲得一定程度的初始加權。

最後,作者把 time-decayed rank 與 author credibility 相加後做 min-max normalization,得到介於 0 到 1 的 RAGRank 分數。這個分數不是拿來取代語意相似度,而是拿來做第二階段的篩選與重排。

我很喜歡這個思路,因為它抓到 CTI 的一個根本矛盾:你既不能只信舊資料,也不能只信新資料;真正重要的是,新資料有沒有被可信脈絡承接,來源過去是否可靠。

作者定義的攻擊模型,跟真實 CTI 流程很接近

論文把 poisoning attack 形式化得很清楚。攻擊者的目標不是讓所有人都相信某篇假文,而是更實際地:讓惡意文件在某個查詢下被撈進 top-k 檢索集合裡,而且數量足以影響 LLM 最終輸出。

這個定義在 CTI 場景特別合理,因為對攻擊者來說,只要能讓 SOC analyst 在某次查詢時看到一兩份看似合理的「支撐材料」,任務就已經成功一半。尤其面對 emerging threats,本來可用文件就少,這讓毒化文件更容易卡進前排。

MS MARCO 實驗:先在標準 poisoning benchmark 上驗證方向

作者先拿被污染版本的 MS MARCO 問答資料集測試,從每題混入 1 到 5 份 poisoned documents。結果顯示,RAGRank 相對於沒有防護的 blind retrieval,大多數情況能把答案正確率拉高約 10% 到 15%

這個結果的意義不只是「分數變高」,而是證明了 authority-aware re-ranking 這條路本身可行:就算毒文件在語意上非常貼近查詢,只要它缺乏來自語料圖譜的支持,仍然可能在第二階段被壓下去。

不過作者也很誠實地說,MS MARCO 並沒有作者與時間等 metadata,因此這組實驗其實還沒有完全發揮 RAGRank 的全部能力。換句話說,10% 到 15% 的提升只是底線,不是上限。

真正值得看的是 CTI proof-of-concept:它不是讓模型更敢答,而是讓模型更敢說「我不知道」

我認為這篇論文最有意思的部分,是後面的兩組 CTI 概念驗證。作者建立了一個約 300 個 excerpts 的 CTI 語料,模擬來自 threat reports、資安新聞、Wikipedia、研究與公開情資來源的混合資料庫,然後設計兩種很實際的攻擊場景。

場景一:偽造 APT 描述,誤導歸因與背景判讀

在第一種場景裡,攻擊者想靠假部落格或假文章,把已知 APT 的關鍵描述往錯方向帶。作者列了五個測試案例,包括:

  • 把 CozyBear 的 affiliation 往中國帶
  • 把 FancyBear 說成獨立公司而非 state-sponsored
  • 把 Lazarus 的目標從金融/加密資產改寫成教育/開源軟體
  • 對 Scattered Spider 投入彼此衝突的訊息

結果很有啟發性。論文表格中,多數案例裡正確來源的 RAGRank 分數大約落在 0.85 到 0.94,而毒化內容大多只有 0.25 到 0.33 左右。也就是說,毒文件在語意上可能很接近問題,但在來源權威上明顯站不住腳。 因此最終答案大多回到正確結論。

其中最關鍵的一個案例是 Scattered Spider。當第一階段撈回來的幾乎都是 poisoned results 時,系統並沒有硬給一個錯答案,而是因為這些文件 authority 太低,最後傾向「不下結論」。這點非常重要,因為在資安裡,拒答有時比亂答更專業。

場景二:先佈局假 benign 敘事,為未來惡意基礎設施洗白

第二個場景更貼近攻擊前置作業。作者假設攻擊者先在公開 feed 發一篇部落格,聲稱某個未來要用於惡意活動的網域 updates-winsecure[.]com 是合法 CDN 或正常更新端點,還附上一些看似合理的描述,例如:

  • VirusTotal 0/98 hits
  • 沒有聲譽標記
  • 未觀察到惡意行為
  • 建議 suppress alerts

這種毒資料其實非常現實。因為對一個剛出現的新網域來說,確實很可能「目前查不到壞事」。如果 RAG 系統只看相似度,這些文字幾乎必然會成為最相關答案之一。

論文結果也證明了這件事:

  • 沒有 RAGRank 時:top 文件 similarity 高達 0.84,但 authority 只有 0.05,LLM 最後傾向回答「benign」。
  • 加入 RAGRank 後:改由另一份 similarity 較低但 authority 較高的文件排第一,LLM 最終回答變成 unknown

這就是整篇論文最值錢的地方。它不是保證系統永遠知道真相,而是讓系統在缺乏可信依據時,不要被一份包裝精美的假情資帶走。對 SOC 來說,「目前沒有高權威證據,先保留判斷」遠比「看起來沒事,可以 suppress alert」安全太多。

這篇論文真正提出的是一種「檢索層風險治理」思維

我覺得 RAGRank 有價值,不只是因為 PageRank 本身,而是它把 CTI × LLM 的防禦焦點拉回對的地方:別只問模型會不會被 prompt 騙,還要問它檢索進來的知識本身是否值得信任。

這個思路很容易延伸到實務系統:

  • 為每個來源維護 authority profile
  • 把來源歷史表現、發文年齡、作者聲譽、轉載結構都納入排序
  • 對新出現但無法交叉支撐的資料,自動提高懷疑等級
  • 在 UI 上直接呈現「這個答案建立在哪些高 authority 文件上」

如果說多數 CTI assistant 還停留在「讓模型更會回答」,那這篇論文其實是在談更成熟的一件事:讓系統更知道自己什麼時候不該太相信檢索到的東西。

它的限制也很明確

當然,這篇論文不是沒有問題。作者自己也承認幾個限制:

  • CTI 部分目前還是 proof-of-concept,規模不算大
  • 正式實驗主要展示 inferred citations,其他建圖方法尚未完整展開比較
  • LLM 推論 citation 方向與強度本身也可能出錯,特別是小模型或文件內容混雜時
  • 作者信用分數未來也可能被對手長期經營、慢慢養出「偽權威」

尤其最後一點很值得注意。作者在 future work 裡也提到:攻擊者完全可能先長期發布看似可信的內容,慢慢累積 authority,之後再丟出關鍵毒資訊。 這其實就很像 PageRank 時代的 spam farms 或 reputation laundering。也就是說,RAGRank 不是一勞永逸的解法,但它至少先把防線往前推了一層。

我的總結

如果要我用一句話總結這篇論文,我會說:它不是在教 CTI 助理怎麼答得更漂亮,而是在教它怎麼少被假情資牽著走。

這篇論文最值得記住的有四點:

  • 第一,CTI RAG 的主要風險之一是資料庫毒化,不只是生成幻覺。
  • 第二,在新興威脅場景裡,只靠 embedding 相似度非常危險,因為毒資料往往會故意寫得最相關。
  • 第三,authority-aware re-ranking 是一條很合理的防線,尤其適合 open-source CTI 這種來源品質高度不均的場景。
  • 第四,一個成熟的 CTI assistant 不只是要能答,更要能在缺乏高權威依據時誠實地說「不知道」。

對正在做 threat intel copilots、SOC assistant、或任何把 LLM 接進 CTI 檢索流程的團隊來說,這篇論文很值得讀。因為它提醒我們一件很現實的事:在資安裡,最危險的從來不是資訊太少,而是錯資訊看起來太像真的,而且還被系統當成「有根據」地說出來。

RAGRank 的貢獻,就是試著在 LLM 開口之前,先替它把「哪些來源比較值得信」這件事做一輪結構化判斷。這不是 flashy demo,但它比 flashy demo 更接近能上線的東西。

You may also like