SynthCTI 論文閱讀分析:當 CTI 自動化真正卡住時,問題可能不是模型不夠大,而是長尾攻擊根本沒資料可學
本文由 AI 產生、整理與撰寫。
論文基本資訊
- 論文標題:LLM-Driven Synthetic CTI Generation to enhance MITRE Technique Mapping
- 來源:arXiv
- 年份:2025
- arXiv:https://arxiv.org/abs/2507.16852
- 主題:CTI、MITRE ATT&CK、Technique Mapping、Synthetic Data、Data Augmentation、LLM
如果說最近很多 CTI + LLM 論文都在問「模型到底懂不懂威脅情報」,那 SynthCTI 問的是一個更底層、也更現實的問題:也許不是模型不夠聰明,而是你根本沒有足夠像樣的資料,讓它學會那些本來就很少出現的攻擊技術。
這篇 paper 的價值,不在於它再做一個更大的 encoder,也不在於提出一個更炫的推理框架,而是很務實地指出:CTI 自動化裡最常被忽略的瓶頸,往往不是 architecture,而是 dataset 本身嚴重失衡。 某些 MITRE ATT&CK techniques 有大量樣本,某些 techniques 卻只有零星幾句描述;於是模型最後學會的,不是完整的威脅世界,而只是資料比較多的那幾類攻擊習慣。
也因此,SynthCTI 想補的洞非常明確:當 CTI-to-MITRE 這類任務卡在 long-tail 類別太稀疏時,能不能不要只一直換 classifier,而是先把訓練資料補到更像真實世界?
這篇論文真正瞄準的是什麼痛點?
把非結構化 threat report 映射到 MITRE ATT&CK technique,聽起來像標準文本分類;但做過的人都知道,這件事麻煩得多。
- CTI 文本高度非結構化,術語混雜、上下文跳躍,而且常帶有濃厚的事件敘事語氣。
- 同一 technique 可能有很多不同寫法,語意相似、字面卻差很遠。
- 資料分布極度不平衡,熱門 technique 樣本很多,冷門 technique 幾乎沒有。
- 真正稀有但重要的攻擊行為,恰好最容易被模型忽略。
這也是為什麼很多模型在 overall accuracy 看起來還行,但一拉到 macro-F1 或長尾 technique,就馬上露出問題。在 CTI 現場,最不能漏掉的往往不是最常見的樣本,而是那些罕見、但一旦出現就很關鍵的 technique。
SynthCTI 的出發點因此很對味:如果資料稀缺與類別失衡才是主因,那先補資料,可能比先換模型更有用。
SynthCTI 在做的事,不是亂造資料,而是盡量造出「像這個 technique 真的會長出來的句子」
這篇論文最值得記住的地方,是它不是把 LLM 當成一台隨便吐句子的 augmentation 機器。作者知道,CTI 這種領域如果 synthetic data 亂生,最後只會製造更多語意污染、錯誤模式與虛假關聯。
所以 SynthCTI 的設計核心,是先理解某個 technique 類別內部到底有哪些語意子群,再根據這些子群去引導生成。整個流程可以拆成幾步:
- 先把每個 technique 類別中的句子轉成 embedding。
- 用 HDBSCAN 將同一個 technique 裡語意相近的樣本分群,避免把不同語境硬混在一起。
- 對每個 cluster 抽取代表特徵,包括 few-shot 範例、LDA topic、KeyBERT keyphrases、語氣線索與同義詞擴展。
- 把這些特徵組成 prompt,再讓 LLM 生成新的 synthetic CTI sentences。
- 把合成樣本加回原始訓練集,重新訓練 technique classifier。
這裡最重要的觀念是:作者不是直接叫模型「幫我多寫幾句 T1059」,而是先從真實樣本裡抽出這個 technique 在不同語境下的語意輪廓,再要求模型沿著這個輪廓擴寫。 這比一般粗暴的 prompt-based augmentation 靠譜很多。
為什麼先分群再生成,這件事很重要?
因為 MITRE ATT&CK technique 並不是單一模板句。就算是同一 technique,也可能出現在完全不同的報告上下文裡:
- 有的寫法偏 forensic 敘事
- 有的偏 malware capability 描述
- 有的偏 campaign summary
- 有的會帶大量工具名、檔名、路徑、參數或行為痕跡
如果不先把這些子語境拆開,直接生成,很容易做出一堆「語法看似像 CTI、語意卻糊成一團」的句子。那種資料也許能把 train set 灌大,卻不一定能讓模型真的學到 technique 的辨識邏輯。
HDBSCAN 在這裡的角色很關鍵。它不需要先指定 cluster 數量,還可以把密度太低、語意太怪的點當成 noise。這對 CTI 很實用,因為 threat report 本來就不是乾淨規整的新聞語料;如果資料本身有語意碎片與雜訊,augmentation 流程最好先學會把雜訊隔開,而不是全部餵去放大。
這篇論文真正聰明的地方,是把 prompt engineering 做成一種「語意約束」
近一年很多人一提到 synthetic data,就會直覺想到 prompt engineering 很玄、很不穩。但這篇 paper 其實讓 prompt 變成一種相對可控的生成約束。
作者在 prompt 裡放的不只是幾個 examples,而是結合了多種訊號:
- Few-shot examples:從 cluster 裡挑出代表句,讓模型看到這類描述通常怎麼寫。
- LDA topics:把 cluster 的主題詞露出來,避免生成偏題。
- KeyBERT keyphrases:保留語意核心,不讓句子只剩表面花樣。
- Synonym expansion:用語意相近詞增加字面多樣性,降低生成結果過度模板化。
- Tone cues:讓生成句子的敘事風格更貼近原始 CTI 文本。
這種設計背後的想法很值得 CTI 圈記住:高品質 synthetic data 的重點不是把句子變多,而是讓新增樣本在「語意上忠實、字面上多樣」。 如果只有忠實沒有多樣,模型很容易過擬合模板;如果只有多樣沒有忠實,就會開始學到假的 threat pattern。
實驗結果最有力的一句話:小模型加對資料,可能比大模型空手上陣更有用
SynthCTI 的實驗是做在兩個公開資料集上:CTI-to-MITRE 與 TRAM。這兩個資料集都和 ATT&CK technique mapping 很相關,也都存在類別不平衡的現實問題。
作者測了多種模型容量,包括 ALBERT、DistilBERT、BERT 與 SecureBERT。結果很直白:
- ALBERT 的 macro-F1 從 0.35 提升到 0.52,相對增幅約 48.6%
- SecureBERT 從 0.4412 提升到 0.6558
- 即使是較小型的模型,在加入 SynthCTI 後,也能超過一些沒做 augmentation 的較大模型
這組結果背後最重要的訊息,不是「某個數字提升很多」,而是:在 CTI 這種資料長尾問題很重的任務裡,資料工程本身就是模型能力的一部分。
這對實務很重要。因為很多安全團隊其實沒有條件長期部署超大模型,也不一定能接受高成本、高延遲或外送資料風險。若能用較輕量的模型,配合高品質 augmentation,把 performance 拉到可用區間,這件事對企業導入反而更現實。
這篇論文在 CTI 自動化脈絡裡,補上的不是新 benchmark,而是「長尾 technique 的資料供給問題」
如果把這篇放進近兩年的 CTI + AI 研究脈絡裡看,它的位置其實很清楚。
- CTIBench、CTIArena、AthenaBench、AttackSeqBench 這類工作比較像在問模型到底懂多少、推理能力在哪裡卡住。
- KGV、LRCTI、RAGRecon、CTI-REALM 比較偏向讓模型多查證、少幻覺、把可信證據帶進來。
- Beyond Single Reports、What Are Adversaries Doing? 這些工作則更關心抽取範圍、資料來源與 technique extraction 的 realism。
- SynthCTI 補的是另一個很少人正面處理的問題:如果 technique 標註資料本來就稀缺、不平衡,後面所有 classifier、benchmark、甚至 knowledge-grounding,其實都建在一個先天不完整的資料底座上。
也就是說,這篇 paper 不在回答「LLM 能不能做 CTI」,而是在回答:當你想讓模型穩定做 CTI,訓練資料怎麼補,才不會補成垃圾?
這篇論文也提醒了一個常被忽略的風險:synthetic data 不是免費午餐
當然,SynthCTI 很有價值,不代表 synthetic augmentation 就可以被神化。這條路最敏感的地方在於:一旦生成品質不夠好,你不是在擴充知識,而是在系統性放大偏差。
CTI 領域尤其危險,因為 technique mapping 本來就帶有語意模糊與多寫法問題。若 synthetic sentences 過度理想化、模板化,或偷偷摻進不真實的術語組合,模型最後可能變得更會認 prompt pattern,卻沒有更懂 adversary behavior。
這也是我覺得這篇 paper 最值得後續追問的地方:
- 生成資料的人工驗證成本有多高?
- 如果資料集或 ATT&CK 版本更新,合成樣本會不會很快過時?
- 當 technique 描述跨 campaign、跨語境變化更大時,cluster-guided prompting 還能不能穩定對齊?
- 若把這套方法推到多標籤、跨句、跨段落甚至多報告彙整任務,效果是否還成立?
也就是說,SynthCTI 把 augmentation 做得比很多人嚴謹,但它仍然是在提醒大家:資料生成可以是槓桿,也可以是污染源,差別只在你有沒有把語意控制做紮實。
對實務團隊來說,這篇 paper 有哪些直接啟示?
- 不要只盯模型架構。 在 ATT&CK technique mapping 這種任務,資料分布常比 backbone 更決定上限。
- macro-F1 比整體 accuracy 更值得看。 尤其是長尾 technique 才是真正的痛點。
- synthetic augmentation 要有語意約束。 不能只是讓 LLM 隨便改寫幾句話。
- 小模型未必輸。 若資料補得好,輕量模型更可能成為可部署、可維護、可內部落地的方案。
- CTI pipeline 的基礎工程很重要。 分群、topic extraction、keyphrase extraction、資料品質控管,這些不是附屬品,而是模型成敗的一部分。
怎麼看這篇論文?
SynthCTI 不是那種會因為巨大 benchmark 排名而一眼爆紅的論文;它更像一篇很懂現場痛點的工程型研究。它知道 CTI 自動化之所以常常做不深,不一定是因為模型太笨,而可能是因為資料底座太薄、太偏、太不完整。
它最值得肯定的地方,是把 synthetic data 這件事從「多生一點資料」提升成「如何用語意結構約束生成品質」。這個方向很實際,也很資安。因為在威脅情報世界裡,你真正需要的從來不是更多句子,而是更多能代表真實攻擊語境的句子。
如果未來 CTI automation 真的要從 demo 走向 production,這篇 paper 的提醒其實很關鍵:在問模型會不會推理之前,先問你的資料到底有沒有把那些稀有但重要的 adversary behaviors 教給它。
而 SynthCTI 給出的答案很清楚:CTI 的下一步,不只是更大的模型,也包括更有紀律的資料生成。
