APT-CGLP 論文閱讀分析:真正讓 CTI 無法直接拿來做 APT Hunting 的,常常不是資料太少,而是 threat report 和主機行為圖根本沒活在同一個語言裡

論文基本資訊

  • 論文標題:Advanced Persistent Threat Hunting via Contrastive Graph-Language Pre-Training
  • 作者:Yimei Zhang 等
  • 年份:2025
  • 來源:arXiv:2511.20290
  • 論文連結:https://arxiv.org/abs/2511.20290
  • 主題:APT Hunting、Cyber Threat Intelligence、Provenance Graph、Graph-Language Alignment、Contrastive Learning、LLM

如果前面幾篇 CTI 自動化論文,大多還停在「把報告抽成 ATT&CK technique」、「把 threat report 轉成 rule」、「讓模型看懂 sequence」這一層,那這篇 APT-CGLP 想處理的,是更接近真正威脅獵捕落地時會撞上的斷層:你有 CTI 報告,也有 endpoint audit logs,但這兩種東西根本不是同一種語言。

CTI 報告寫的是 campaign、TTP、操作意圖與攻擊脈絡;provenance graph 描的是 process、file、socket、system call 之間的行為關係。很多研究會先把 CTI 報告抽成 attack graph,再去跟 provenance graph 做 matching。聽起來合理,但這篇 paper 抓到一個很痛的事實:你每多做一次結構化轉換,就多丟一次資訊,而且通常還得靠人工幫你整理。

作者的核心主張很直接:既然 CTI 與 provenance graph 本來就是兩種模態,那不如不要再硬把其中一邊壓扁成另一邊的樣子,而是直接學一個跨模態語意對齊

這篇論文想解決什麼?

APT hunting 裡最麻煩的一件事,不是缺資料,而是資料之間對不起來。防守方明明可能已經有:

  • 外部 CTI 報告提供攻擊者行為描述
  • 主機 audit logs 能重建 provenance graph
  • 各種已知 APT campaign 的公開分析

但現實是,分析師還是得自己把這些東西在腦中對映,判斷「報告裡說的 lateral movement、credential access、payload staging,對應到這台機器上到底像哪些事件關係」。

先前常見方法把問題拆成兩段:

  1. 從 CTI report 抽 attack graph
  2. 把 attack graph 拿去跟 provenance graph 比對

這個 pipeline 的問題也正是 APT-CGLP 想打掉的地方:

  • graph extraction 會損失語意:很多上下文、因果、修飾條件被壓掉了
  • 人工成本高:高品質 graph 常常得靠人修
  • 擴展性差:新 threat report 一多,整套流程就變慢
  • 對真實 noisy CTI 不友善:公開來源的報告不會乖乖照你的 schema 寫

所以這篇論文真正想問的是:

能不能不要再先做脆弱的中間表示,而是讓模型直接學會「一段 CTI 描述」和「一張系統行為圖」在講同一件攻擊活動?

APT-CGLP 的核心做法:讓 graph 跟 language 直接對齊

APT-CGLP 全名是 Contrastive Graph-Language Pre-Training。光看名字就知道,作者不是把 LLM 拿來硬做分類,而是把它放進一個跨模態 representation learning 架構裡。

概念上它做了兩件重要的事:

  1. 建立 provenance graph 與 CTI report 的共同語意空間
  2. 讓 threat hunting 直接變成 end-to-end semantic matching

也就是說,系統不再要求你先把 CTI 報告手工或半自動壓成 attack graph,再做 graph matching;它改成直接問:這張 provenance graph,語意上像不像這份 CTI 描述的攻擊行為?

這個轉向很關鍵。因為它把 threat hunting 的重點,從「格式對得起來」改成「攻擊語意對得起來」。對真實世界來說,後者通常才有價值。

這篇 paper 最聰明的地方:用 LLM 補資料 scarcity,也補 CTI 噪音問題

CTI + provenance graph 這類跨模態配對資料,本來就很少。作者沒有假裝這不是問題,而是正面承認:如果沒有足夠的 graph-report pairs,跨模態模型根本很難練。

APT-CGLP 的做法是讓 LLM 幫忙產生高品質的 provenance graph–CTI report pairs,拿來緩解資料稀缺。這點其實很值得注意,因為它不是把 LLM 當最後的裁判,而是把 LLM 放在更上游的位置,變成 training data construction 的加速器。

更有意思的是,作者還提到另一個現實問題:很多從網路抓來的 CTI 報告其實很吵,敘述風格混亂、細節層級不一、操作資訊密度也不同。APT-CGLP 讓 LLM 在這裡扮演第二個角色:從 noisy web-sourced CTI 裡蒸餾出比較可操作、可對齊的攻擊語意。

換句話說,LLM 在這篇論文裡最重要的價值,不是「最後幫你判斷有沒有 APT」,而是:

  • 替 scarce data 補 pair
  • 替 noisy CTI 做語意提純
  • 替 graph 與 report 的語意橋接打地基

這個位置比起單純拿 prompt 問答其實更務實,也更像可持續擴張的系統設計。

訓練設計不是只有 contrastive learning,而是 coarse-to-fine 的雙層對齊

如果只是做一般的 contrastive learning,很容易把整張 graph 跟整份報告拉近,但細節還是對不準。作者這裡多做了一步:引入multi-objective training,把 contrastive learning 跟 inter-modal masked modeling 組合起來。

這代表他們不只想學「這兩個樣本是不是同一個 attack」,還想學更細的跨模態對應訊號。論文對這點的描述很重要:它希望同時促進 coarse-grainedfine-grained 的 semantic alignment。

直白一點講,就是不要只讓模型知道「這份報告大致在說 APT29 風格的活動」,而是希望它更接近能看懂:

  • 哪種節點/邊關係對應哪段攻擊描述
  • 哪種程序鏈像是橫向移動、持久化或憑證濫用
  • 哪段 CTI 語句在 provenance graph 上應該投影到哪些局部結構

這種 coarse-to-fine 對齊能力,才比較接近真實 threat hunting 需要的東西。因為防守方要的從來不是「感覺像」,而是「到底像在哪裡」。

它跟舊方法最大的差別:從 graph extraction pipeline 轉成 end-to-end hunting

我覺得這篇 paper 最值得 sectools.tw 讀者記住的一件事,是它其實在改 threat hunting 的問題定義。

舊思路比較像:

先把文字轉成結構,再把兩個結構拿來配。

APT-CGLP 的思路則是:

先承認 graph 跟 language 是兩種原生不同的證據形式,然後直接學它們之間的攻擊語意映射。

這個差別非常大。前者的瓶頸通常在 IE pipeline、schema 設計與人工標註;後者則更像是在建立一個能吃真實資料噪音的 hunting substrate。也因為如此,APT-CGLP 把「CTI 能不能被 operationalize」這件事,往前推到了比單純 ATT&CK tagging 更深一層的位置。

實驗訊號代表什麼?

作者宣稱在四組真實世界 APT datasets 上,APT-CGLP 在準確率與效率上都持續優於既有 threat hunting baselines。雖然從 abstract 還看不到所有細節數字,但這個結論本身已經很有方向性:

  • 不是每次都要先抽 attack graph 才能做 hunting
  • LLM 不是只能拿來產生摘要,也能幫跨模態資安任務補資料與對齊語意
  • 如果資料設計得對,CTI report 確實可以更直接地進入 endpoint hunting pipeline

對很多正在想把 CTI 從「閱讀材料」變成「防守輸入」的團隊來說,這比再多一個 technique extractor 更有啟發性。

我的看法:真正卡住 CTI 落地的,常常不是模型不會抽,而是兩邊根本不是同一種證據

這篇論文讓我最有共鳴的地方,是它沒有把問題簡化成「CTI 抽不乾淨」或「graph matching 不夠強」。它指出的是更本質的事:威脅情報與系統遙測原本就是兩種不同證據語言。

如果你一直堅持先把它們都壓成同一種中介格式,通常只會得到兩種結果:

  • 語意被壓扁,能對上的只剩表面 pattern
  • 人得不斷進場補洞,最後 automation 名義上存在,實際上還是 analyst 在搬

APT-CGLP 給的一個更成熟方向是:不要只優化 extraction,要優化 modality translation 本身。 這個觀點對 CTI、detection engineering、threat hunting 其實都很重要。因為未來真正有價值的系統,可能不是最會抽 ATT&CK label 的那個,而是最能把外部 threat narrative 跟內部環境證據接起來的那個。

總結

Advanced Persistent Threat Hunting via Contrastive Graph-Language Pre-Training 這篇 paper 值得看的地方,不只是它用了 LLM,也不只是它把 contrastive learning 帶進 threat hunting,而是它把一個常被默默吞下去的前提攤開來:CTI report 和 provenance graph 其實不是同一種東西,硬抽成 attack graph 再對,代價往往很高。

APT-CGLP 的貢獻,在於把 threat hunting 從脆弱的中介抽取 pipeline,往更直接的跨模態語意對齊推進一步。它同時處理了:

  • CTI 與 provenance graph 的 modality gap
  • graph extraction 帶來的 information loss
  • training pair scarcity
  • web CTI 的噪音與可操作性不足

如果你問我這篇 paper 最值得記住的一句話是什麼,大概會是:

很多 APT hunting 做不起來,不是因為沒有情報,也不是因為沒有 log,而是因為兩邊一直沒有被放進同一個語意空間裡。

這也是為什麼 APT-CGLP 很像是在提醒整個 CTI 自動化領域:真正的下一步,未必只是抽更多結構,而是學會怎麼讓不同證據型態彼此看懂對方。


本文由 AI 產生、整理與撰寫;內容基於論文 Advanced Persistent Threat Hunting via Contrastive Graph-Language Pre-Training(arXiv:2511.20290)與公開資料整理,建議讀者仍以原始論文為準。

You may also like