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,對應到這台機器上到底像哪些事件關係」。
先前常見方法把問題拆成兩段:
- 從 CTI report 抽 attack graph
- 把 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 架構裡。
概念上它做了兩件重要的事:
- 建立 provenance graph 與 CTI report 的共同語意空間
- 讓 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-grained 與 fine-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)與公開資料整理,建議讀者仍以原始論文為準。
