CTI-HAL 論文閱讀分析:用人工標註資料集提升 Cyber Threat Intelligence 抽取與評估品質

論文基本資訊

  • 論文標題:CTI-HAL: A Human-Annotated Dataset for Cyber Threat Intelligence Analysis
  • 作者:Sofia Della Penna、Roberto Natella、Vittorio Orbinato、Lorenzo Parracino、Luciano Pianese
  • 年份:2025
  • 來源:arXiv:2504.05866v1;WACCO 2025(co-located with IEEE EuroS&P 2025)
  • 論文連結:https://arxiv.org/abs/2504.05866
  • 主題:CTI Dataset、MITRE ATT&CK、TTP Extraction、Human Annotation、Inter-Annotator Agreement、LLM Evaluation

這篇 CTI-HAL 很值得接在 sectools.tw 近期這條 CTI / AI 論文線後面,因為它不是再做一個新的 agent、也不是再宣稱某個模型能自動完成 threat attribution;它往更底層走,處理一個其實更關鍵的問題:如果資料集本身不夠乾淨、不夠細、不夠可信,那後面所有 CTI extraction、TTP mapping、LLM evaluation 幾乎都會站在鬆動地基上。

作者的切入點很準。很多 CTI 研究都在談如何從報告或 blog 自動抽取 TTP,但常用資料集往往有幾個老問題:有些不公開、有些只給 document-level label、有些直接拿 MITRE ATT&CK KB 的 technique 描述當資料,卻沒有真實 threat report 的上下文。CTI-HAL 想補的,就是這個缺口。

這篇論文想解決什麼問題?

作者認為,現有 CTI 資料集主要有四個痛點:

  • 可用性不足:很多資料集沒有公開,難以重現與比較
  • 粒度太粗:只在 document level 標註 TTP,缺乏 sentence-level 證據對應
  • 上下文不足:直接用 ATT&CK KB 的簡短 technique 描述,無法反映真實 CTI 報告的敘事脈絡
  • 標註品質未驗證:雖然有人做人工標註,但往往沒有 inter-annotator agreement 驗證

因此 CTI-HAL 的核心目標很明確:建立一個公開、人工標註、statement-level、可驗證品質的 CTI 資料集,讓後續 NLP / LLM 方法可以更像樣地評估。

CTI-HAL 的核心設計

這個資料集不是從 ATT&CK 範例句子拼出來的,而是直接從真實 CTI report 下手。作者使用 Adversary Emulation Library 裡的報告,涵蓋多個 APT 與犯罪組織,包括:

  • APT29
  • Carbanak
  • FIN6
  • FIN7
  • OilRig
  • Sandworm
  • WizardSpider

總共分析了 81 份真實 CTI report。這點很重要,因為它代表資料不是從知識庫條目逆向編成 benchmark,而是來自實際 analyst 會接觸到的報告文本。

在標註粒度上,作者採用 statement-level 方法:不是只說「這篇報告有哪幾個 technique」,而是把每一句真正提到 TTP 的句子對應到具體的 MITRE ATT&CK technique ID。這種設計比 document-level 標註更有用,因為它保留了證據鏈。

三步驟工作流程

作者把資料集製作流程拆成三步:

  1. Annotation:人工閱讀 PDF 報告,找出含 TTP 資訊的句子,並加上 ATT&CK technique ID
  2. Conversion:把已標註 PDF 轉成 Markdown,保留文字與標註的對應
  3. Standardization:再用 Python 腳本整理成 JSON dataset

這種流程設計的好處,是保留從原始 PDF 到中介格式再到最終 JSON 的 traceability。換句話說,研究者不是只拿到一包「標完的答案」,而是可以一路回溯每段文字是怎麼被標出來的。

每筆標註包含哪些資訊?

作者的標註不是只有 technique ID 而已,而是盡量把實務分析脈絡保留下來。每個 annotation 包含:

  • ID
  • SOURCE(文字或圖片)
  • TACTIC
  • TECHNIQUE
  • SUB-TECHNIQUE
  • DESCRIPTION
  • TOOL
  • NOTES
  • LINK(與其他 annotation 的關聯)

而在 JSON 輸出裡,核心欄位則包含:

  • CONTEXT:被標註的 anomalous sentence
  • TECHNIQUE:對應 technique
  • METADATA:頁碼、來源、tactic、sub-technique、tool、notes、link 等輔助資訊

這讓資料集不只是拿來做分類,也能支援 traceability、evidence localization、甚至多步驟 sequence reconstruction。

這個資料集的規模與覆蓋面

根據論文,CTI-HAL 最終涵蓋:

  • 81 份真實 CTI report
  • 116 個 technique
  • 104 個 sub-technique
  • 111 個 tool

作者也特別分析 technique 與 tool 的出現分布。結果顯示很多 technique 只出現一次,代表資料集中保留了相當多偏特殊、低頻但真實存在的攻擊行為;同時也有一些 technique 出現超過 20 次,代表資料也保有常見攻擊模式。

論文舉出的高頻 technique 包括:

  • T1059:Command and Scripting Interpreter
  • T1566:Phishing
  • T1027:Obfuscate Files or Information
  • T1105:Ingress Tool Transfer
  • T1071:Application Layer Protocol

這些 technique 的組合其實很像真實攻擊劇本:先釣魚、再進入、再下載工具、再隱匿、再建立通訊。從資料分布就能看出資料集並不是隨機拼湊,而是有反映攻擊流程的。

為什麼 statement-level 很重要?

這篇論文最值得記的一點,就是它反覆強調 statement-level annotation 的價值。

如果只做 document-level 標註,你知道一篇報告裡「有」某幾個 technique,但你不知道:

  • 是哪一句提供了證據
  • 模型是不是其實抓錯句子
  • 模型抽出的 technique 和文本 evidence 是否真的對上

一旦改成 statement-level,就可以做雙向 traceability:從句子回 technique,也能從 technique 回原句。這對後續的 explainable extraction、RAG grounding、甚至 analyst review 都非常重要。

如果把它放進最近幾篇像 CTINexus、TechniqueRAG、CTIBench、KGV 這種論文脈絡裡看,CTI-HAL 比較像是把「資料該長什麼樣」這件事重新釘穩。沒有這種資料層,後面的模型改良很多時候只是換一種方式放大資料偏差。

品質驗證:Krippendorff’s Alpha

很多資料集都會說自己有人工標註,但真正做到標註品質驗證的並不多。CTI-HAL 在這點上比較認真:作者使用兩位獨立 annotator,並對 APT29 相關報告做 inter-annotator agreement 評估。

他們採用的指標是 Krippendorff’s Alpha,公式如下:

α = 1 − Do / De

  • Do:Observed Discordance,實際觀察到的分歧比例
  • De:Expected Discordance,若標註隨機發生時預期的分歧比例

這個指標的好處是它不是只看「有沒有一樣」,而是考慮到隨機一致的可能性,因此比單純 accuracy 或 percent agreement 更有說服力。

論文還進一步指出,人工標註句子時常見的問題不是 technique 完全不同,而是標的文字範圍不完全重疊。因此作者又補了三種文字相似度指標來看 annotator 標出來的句子區段是否足夠接近:

  • Sequence Matcher
  • BLEU
  • Embedding Distance(SpaCy)

這個做法滿務實,因為 CTI 句子在標註時常常不是「對 / 錯」這麼簡單,而是「你劃到子句、我劃到整句」。有了這層檢查,資料品質評估會比只看類別一致更細。

作者怎麼把資料集用在真實場景?

這篇不是只停在 dataset release。作者還把資料集拿去評估一個用於商業 CTI feed 的 LLM 自動化流程,觀察模型在真實 business context 的 generalizability。

論文的幾個結論很實際:

  • 資料集選擇會顯著影響 LLM 表現
  • 模型在大型、冗長 CTI report上更容易失準
  • 在較短、較集中的報告上,模型表現會明顯更好
  • 把模型移到商業 CTI feed 時,結果與資料集測得的表現大致相近,代表有一定 generalizability

這點很值得注意。很多論文喜歡報一個漂亮分數,但 CTI-HAL 反而提醒你:LLM 的能力很可能跟報告長度、主題複雜度、上下文密度強烈相關。 這比單一平均分數更接近實務。

這篇論文的價值在哪裡?

我認為 CTI-HAL 的貢獻主要有四個:

  1. 把真實 CTI report 做成可公開使用的高品質 dataset
  2. 用 statement-level 粒度保留 evidence traceability
  3. 不只做人標,還做 inter-annotator reliability 驗證
  4. 把 dataset 放回真實商業 CTI workflow 去驗證泛化性

如果前面一些論文在回答「模型能不能幫 analyst 做事」,那 CTI-HAL 回答的是更底層的問題:我們到底有沒有一套足夠像樣的資料,能讓模型被公平評估、被正確微調、被可解釋地檢查?

論文限制

當然,這篇也不是沒有侷限:

  • 資料來源仍集中在特定 library 與特定 APT / 犯罪群體,不代表整個 CTI 世界
  • 雖然 81 份報告已不小,但對超大規模 finetuning 來說仍然有限
  • 論文目前展示的是一個 LLM business flow 的應用方向,不是完整橫向 benchmark
  • 高頻與低頻 technique 分布不均,後續模型仍需處理長尾問題

但這些限制並不削弱它的價值,反而提醒我們:CTI dataset 建設本來就很貴、很慢、很需要專家時間。 能做到這種細粒度與品質驗證,已經比很多只靠自動標註的資料集更扎實。

總結

CTI-HAL 最重要的地方,不是又多了一個 CTI dataset,而是它把「真實 threat report、句子級 evidence、人工標註、品質驗證、LLM 實務評估」這幾件原本常被分開處理的事,放到了同一個研究框架裡。

對 sectools.tw 的讀者來說,這篇的價值非常直接:如果你在意的是 TTP extraction 到底能不能進入 analyst workflow,那你不能只看模型 demo,也不能只看最終分數;你還要看資料集有沒有保留上下文、有沒有 sentence-level 證據、有沒有標註一致性驗證。從這個角度看,CTI-HAL 是一篇很像「基礎建設論文」的作品,而且這種論文往往比看起來更重要。

You may also like