TechniqueRAG 論文閱讀分析:用 RAG 與大型語言模型標註 CTI 中的 ATT&CK 技術
論文基本資訊
- 論文標題:TechniqueRAG: Retrieval Augmented Generation for Adversarial Technique Annotation in Cyber Threat Intelligence Text
- 來源:arXiv
- 年份:2025
- 作者:Ahmed Lekssays、Utsav Shukla、Husrev Taha Sencar、Md Rizwan Parvez
- 論文連結:https://arxiv.org/abs/2505.11988
- 主題:CTI、MITRE ATT&CK、Technique Annotation、RAG、LLM、Re-ranking
這篇 TechniqueRAG: Retrieval Augmented Generation for Adversarial Technique Annotation in Cyber Threat Intelligence Text 聚焦在一個非常典型、但實際上很難做好的任務:如何把 threat intelligence text 中描述的攻擊行為,自動對映到 MITRE ATT&CK 的 techniques 與 sub-techniques。
這件事看起來像一般的文本分類或資訊抽取,但真正困難的地方在於:ATT&CK technique 的數量多、類別長尾明顯、很多 technique 語意極接近,而且 text 裡的線索往往是隱性而非直接命名。因此,作者不是只在比一個更大的模型,而是在嘗試回答一個更根本的問題:能不能在資料極少、標註稀缺、又不想投入龐大 task-specific engineering 的情況下,把 technique annotation 做到夠準?
研究問題
作者指出,現有方法大致落在兩條路線:
- 多類別分類:直接把 text 映射到 technique IDs
- retrieval / ranking:根據 text 與 techniques 的語意相似度做排序
兩者各有明顯缺點:
- 分類法依賴大量標註資料,且很容易受 class imbalance 影響
- retrieval / ranking 法通常需要 hard-negative mining、細緻 denoising 或 domain-specific tuning
更麻煩的是,雖然 MITRE ATT&CK 定義超過 550 個 techniques / sub-techniques,但公開標註資料大約只有 10,000 筆左右。這讓任何需要大規模 supervised learning 的方法都面臨明顯瓶頸。
因此,這篇論文要回答的問題可以整理成:
- 如何在極少 in-domain paired data 下,建立一個仍有高 precision 的 ATT&CK technique annotation 系統?
- RAG 能否不是只用來問答,而是用來做 technique annotation?
- 若 retriever 本身不做昂貴 domain-specific training,是否能透過 LLM-based re-ranking 補足 domain precision?
方法概觀:TechniqueRAG 的三段式架構
TechniqueRAG 的整體設計很清楚,由三個核心模組組成:
- Retriever R
- LLM-based Re-ranker ℛ
- Generator 𝒢
整體流程可以寫成:
Input security text x
↓
Retriever 取回 top-K text-technique pairs
↓
LLM re-ranker 依 domain-specific reasoning 重排 candidate pairs
↓
將 query + re-ranked exemplars 組成 augmented context
↓
Fine-tuned generator 產生最終 technique / sub-technique annotations
這個架構的關鍵思想是:不去重訓整條 retrieval pipeline,而是保留 off-the-shelf retriever,將模型 adaptation 的重心放在 re-ranking 與 generator fine-tuning 上。
問題形式化
文中把 security texts 記為:
X = {x1, x2, ..., xn}
對應的 technique / sub-technique label space 記為:
Y = {y1, y2, ..., ym}
對一段輸入文本,其標註可以是一個 technique sequence:
𝐘 = (y1, y2, ..., yl)
其中每個 yi 屬於 Y,且 l ≤ m。作者假設有一小組 paired dataset:
D = {(x1, 𝐘1), (x2, 𝐘2), ..., (xn, 𝐘n)}
任務就是在輸入 x 的情況下,預測其對應 technique 序列 𝐘x。
這裡值得注意的是,作者不是只做單標籤設定,而是同時考慮:
- single-label
- multi-label
- sub-technique-level prediction
這讓任務更接近真實 CTI annotation,而不是只做簡化版分類。
模組一:Retriever R
TechniqueRAG 的 retriever 設計刻意保持簡單。作者明確表示,由於缺乏足夠的 hard negatives、絕對 relevance labels 與 denoising data,他們不選擇重訓 retriever,而是採用 off-the-shelf retrieval。
在實驗中,retriever 使用的是:
- BM25
- K = 40 初始候選
對每個 query text xq,retriever 從 paired dataset 中找出 top-K 最相似的 text-technique pairs。值得注意的是,作者把 paired dataset D 同時拿來當:
- retrieval corpus DR
- generator 的訓練資料
但會排除 query 本身,以避免資料洩漏。
這個設計選擇其實很務實:與其在小資料上硬訓 retriever,不如用成熟且穩定的 BM25 打底,再由後面的 re-ranker 補足 domain semantics。
模組二:LLM-based Re-ranker ℛ
這篇論文最有技術味道、也最值得看的地方,就是它的 re-ranker。
作者認為,泛用型 ranking prompt(例如 RankGPT)不適合直接用在 ATT&CK technique ranking,因為這個任務有幾個特殊難點:
- 文本中的 technique 線索常是隱性映射
- 同一段文字可能同時涉及多個 techniques
- sub-techniques 之間的差異可能非常細
因此,TechniqueRAG 不是只要求 LLM 幫忙「排一個順序」,而是要求它進行比較顯式、逐步的安全語意推理。作者提到三個 re-ranking 的核心要求:
1. Explicit Reasoning for Implicit Mapping
Security text 通常不會直接說出 ATT&CK ID,而是以描述行為方式呈現。例如 malware 連到 C2、使用 custom encoding 等,可能同時暗示 command-and-control 與 defense evasion。這時 re-ranker 必須做的是「從隱性行為推到 techniques」,而不是做單純表面相似度比對。
2. Balanced Consideration of Multiple Techniques
一段安全文本可能同時對應多個 techniques,因此 ranking 不該只看最像的一個,而是要平行考慮多個可能標註。這點對 multi-label setting 特別重要。
3. Fine-Grained Relevance for Sub-techniques
Technique 和 sub-technique 間存在層級關係,很多 sub-techniques 語意差異非常微妙。作者設計的 re-ranking prompt 會要求模型針對這種細粒度差異做分辨,而不是只停在 technique family 層級。
此外,為了在有限 context 中處理較多候選,作者使用 sliding window 機制,把候選 techniques 分批交給 re-ranker 處理。這點和一般 retrieval-re-ranking pipeline 的工程做法一致。
模組三:Generator 𝒢
在 re-ranked exemplars 準備好之後,TechniqueRAG 會把它們與原始 query text 組成 augmented context:
𝒞x = x ⊕ ℛx
更具體地說,這個 context 會以一種帶有分隔 token 的格式展開,例如:
[text] x1ℛ [technique] 𝐘1ℛ [text] x2ℛ [technique] 𝐘2ℛ ...
也就是把 re-ranked 的 text-technique pairs 當成 exemplars,提供給 generator 做 in-context guidance。
生成器本身使用的是:
- 8B Ministral Instruct
並透過 LoRA 做 fine-tuning,參數包括:
- learning rate = 1e-4
- LoRA rank r = 8
- α = 4
- temperature = 0.7
- top-p = 0.1
- context length = 2048
訓練目標是最小化 ground-truth annotation 的 negative log-likelihood:
ℒ = - Σ_(x,𝐘x)∈D Σ_i log P𝒢(y_i,x | 𝒞x)
作者還特別強調,為了減少 hallucination,generator 的輸出會被限制在 re-ranked candidate set 所提供的範圍內。這個設計很合理,因為在 technique annotation 這種 label space 明確的任務裡,自由生成通常比受約束生成更危險。
資料與實驗設定
作者評估了三個公開 benchmark:
- Tram:single-label
- Procedures:single-label
- Expert:multi-label
作者採取一個值得注意的設計:不分別訓練 technique prediction 與 sub-technique prediction 模型,而是統一訓練 sub-technique model。因為 sub-technique 標註本身已經包含更粗的 technique 資訊;做 technique-level evaluation 時,只要把 sub-technique 後綴截掉即可。
這是一個很乾淨的設計,避免重複訓練兩套模型,也更符合層級式 label space 的結構。
比較對象
作者比較的 baseline 相當完整,包含三大類:
1. Retrieval / Ranking-only Methods
- BM25
- Text2TTP
- NCE
- RankGPT
2. Direct Generation Methods
- GPT-4
- DeepSeek V3
- Ministral 8B
- 並測 direct prompting 與 CoT + self-reflection
3. Retrieval-Augmented Generation Methods
- IntelEX
- RAG versions of the above LLMs
因此,這篇論文不是只和幾個弱 baseline 比,而是有和 retrieval-only、direct generation、以及其他 RAG methods 正面比較。
結果一:Technique-level 表現
在 technique prediction 上,結果顯示 TechniqueRAG 整體非常強。
例如:
- 在 Tram 上,NCE 的 F1 為 84.22%
- 在 label diversity 較高的 Procedures 上,TechniqueRAG 的 F1 達到 91.09%
更有意思的是,在多資料集平均之後,作者指出:
- TechniqueRAG 平均 F1 約 80.76%
- GPT-4o (RAG) 平均約 58.11%
這個差距相當大,顯示在此任務上,正確的架構設計比單純換更強的通用模型更重要。
結果二:Sub-technique-level 表現
在更細粒度的 sub-technique prediction 上,TechniqueRAG 的優勢同樣明顯。
例如在 Procedures dataset 上:
- TechniqueRAG F1 = 88.11%
- NCE F1 = 73.74%
這很重要,因為 sub-technique 區分比 technique-level 更難,TechniqueRAG 還能維持顯著優勢,代表其 re-ranking + constrained generation 的設計確實抓到了 fine-grained semantic distinctions。
結果三:Multi-label 設定特別困難
作者也清楚指出,multi-label 比 single-label 難很多。這從 Expert dataset 可明顯看出:即使是 GPT-4o,在 Procedures 上 F1 還可以到 47.91,但在 Expert 上就掉到 19.77。
TechniqueRAG 雖然也受影響,但整體表現仍然比大多數 baseline 好,顯示它在 multi-label scenario 下仍具一定穩定性。
不過作者也坦白說明,目前模型很少一次預測超過兩個 technique labels,這導致在 multi-label benchmark 上 recall 仍偏低。這點是很值得注意的限制。
Ablation:為什麼它有效?
論文的 ablation study 有兩個重點:
- 我們的 re-ranker 本身就優於其他 ranking methods
- 用 re-ranked exemplars 做 RAG,會讓 generative models 整體變好
作者還把 TechniqueRAG 與兩種 fine-tuning 方式比較:
- 不帶 exemplars 的 zero-shot fine-tuning
- 利用 CoT+Reflection 合成資料後再 fine-tune 的方法
結果顯示,TechniqueRAG 在 technique-level 與 sub-technique-level 的 F1 都最高。這說明 performance gain 並不是單純來自 fine-tuning,而是來自:
- retriever 提供初步候選
- re-ranker 做 domain-specific reasoning refinement
- generator 在高品質 exemplars 上做 constrained generation
這三個模組的協同作用,才是整個方法有效的關鍵。
錯誤分析
作者對錯誤來源的分析也很有價值,主要包括:
- under-prediction:抓到主要 technique,但漏掉同一 attack pattern 中的其他相關 techniques
- contextual confusion:同一 tactic family 中語意接近的 techniques 容易混淆,例如 T1059.*
- hierarchical issues:對 parent-child technique 關係掌握不穩,有時會生成無效 sub-technique IDs
- re-ranker limitations:若 query 含混或語句複合,re-ranking 本身也可能先漏掉關鍵 techniques
- class imbalance effects:資料集中只有 47 / 203 個 techniques 擁有超過 50 個訓練樣本,長尾問題仍非常嚴重
這些分析讓整篇論文更可信,因為作者沒有把結果包裝成問題已經解決,而是清楚指出目前系統在哪些場景下仍會失敗。
這篇論文的技術意義
TechniqueRAG 最有價值的地方,在於它提出一個相對「省資源但有效」的折衷設計:
- 不用重訓整個 retriever
- 不用準備大量 hard negatives
- 不用龐大的 balanced labeled dataset
- 只 fine-tune generation component
- 用 LLM-based re-ranking 補 domain precision
對 CTI 這種高專業、低標註資源的場景來說,這是一個很實用的方向。它不試圖追求最豪華的 pipeline,而是思考:在現實資源條件下,哪一段最值得投資 adaptation?
重點整理
- TechniqueRAG 聚焦在 CTI text 中的 MITRE ATT&CK technique / sub-technique annotation。
- 方法由三個模組構成:off-the-shelf retriever、LLM-based re-ranker、fine-tuned generator。
- 核心創新在於:不重訓 retriever,而用 domain-specific re-ranking 與 constrained generation 提升 precision。
- re-ranker 透過顯式推理處理隱性 technique mapping、多 technique 共存與 sub-technique 細粒度差異。
- generator 只用少量 paired data fine-tune,並限制輸出在 re-ranked candidate 範圍中,以降低 hallucination。
- 在多個 benchmark 上,TechniqueRAG 優於 retrieval-only、direct generation 與其他 RAG baselines。
- 在 Procedures dataset 上,Technique-level F1 可達 91.09%,sub-technique-level F1 可達 88.11%。
Takeaway
這篇論文最值得記住的一點,是它清楚證明了:在 ATT&CK technique annotation 這種高專業、低標註資源的 CTI 任務上,LLM 最有價值的角色不一定是直接做最終分類,而是透過 re-ranking 與受約束的生成,提升 domain-specific precision。
TechniqueRAG 的成功,不是因為它單純用了 RAG,而是因為它把 RAG 的使用位置放對了:retriever 先縮小候選空間、LLM 再做安全語意推理與重排,最後生成器在受控範圍內輸出 technique annotations。對研究者與工程實作者來說,這是一個很值得參考的設計:在資源受限的專業領域,合理的模組分工比盲目追求更大的模型更重要。
免責聲明
本文由 AI 整理與撰寫,內容主要依據公開論文、技術文件與可取得之研究資料進行彙整、解讀與摘要。儘管已盡力確保內容之完整性與可讀性,仍可能因模型理解限制、資料來源差異或語意轉譯過程而存在疏漏、不精確或更新延遲之處。本文內容僅供研究交流與知識分享參考,實際技術細節、實驗設定與最終結論,仍應以原始論文、官方文件及作者公開資料為準。
