aquarink/humanized-cti-llm
GitHub: aquarink/humanized-cti-llm
该项目通过事件抽象和 MITRE ATT&CK 对齐,将网络遥测数据转化为可解释、适配 LLM 的拟人化网络威胁情报报告。
Stars: 0 | Forks: 0
# humanized-cti-llm
**仓库描述:** 事件级别的网络遥测抽象、MITRE ATT&CK 对齐、可解释的证据追踪,以及适配 LLM 的拟人化网络威胁情报(CTI)报告生成。
该原型遵循 `Pebri___CTI.pdf` 中的方法学方向:原始网络遥测数据不会直接发送给 LLM。数据首先被转换为事件抽象,随后结合 MITRE ATT&CK 上下文进行丰富,最后生成分析师风格的 CTI 报告。
## 建议的 GitHub 元数据
- 仓库名称:`humanized-cti-llm`
- 简短描述:`使用事件抽象和 MITRE ATT&CK 对齐,从网络遥测生成可解释且适配 LLM 的 CTI 报告。`
- 标签:`cyber-threat-intelligence`, `cti`, `llm`, `mitre-attack`, `xai`, `network-telemetry`, `ddos`, `incident-response`
## 建议的数据集
- `datasets/UWF-ZeekData24-csv/`:原型的主数据集,因为它已经具备了流量特征和 MITRE 标签(`label_tactic`、`label_technique`、`label_cve`)。
- `datasets/Syn.csv`、`datasets/SDN-TCP-SYN ATTACK-DDOS-CLEAN.csv` 和 `datasets/BCCC-Cpacket-Cloud-DDoS-2024.csv`:用于体量型案例研究的简单 DDoS 数据集。其 schema 仅包含 IP、时间戳和标签,因此抽象程度较为有限。
## 运行 Pipeline
从 UWF-ZeekData24 生成 CTI 报告:
```
python3 scripts/generate_cti_reports.py --dataset uwf24 --limit-files 4 --max-incidents 8
```
默认情况下,pipeline 会过滤掉 benign/normal/`none` 流量,以便报告专注于与 CTI 相关的事件。如果想生成 benign 的对照报告,请添加 `--include-benign`。
从简单的 SYN/DDoS 数据集生成报告:
```
python3 scripts/generate_cti_reports.py --dataset syn --max-incidents 5
python3 scripts/generate_cti_reports.py --dataset sdn-syn --max-incidents 5
python3 scripts/generate_cti_reports.py --dataset bccc --max-incidents 5
```
结果将生成在:
```
outputs/incidents.jsonl
outputs/reports.md
outputs/evaluation_rubric.csv
```
## 可选的 LLM 集成
默认情况下,脚本使用本地模板渲染器,以便在没有 API key 的情况下测试 pipeline。若要使用 OpenAI API:
```
export OPENAI_API_KEY="..."
python3 scripts/generate_cti_reports.py --dataset uwf24 --use-llm --model gpt-4.1-mini
```
输入给 LLM 的内容仅为事件抽象的 JSON,而不是原始遥测数据。
## DistilBERT Baseline
DistilBERT 被用作中间事件分类的定量 baseline,而不是用于生成 CTI 报告。
```
python3 scripts/run_distilbert_baseline.py \
--task uwf24_tactic \
--uwf24-root datasets/UWF-ZeekData24-csv \
--output-dir distilbert_outputs \
--epochs 2
```
对于云环境:
```
python3 scripts/run_distilbert_baseline.py \
--task uwf24_tactic \
--uwf24-root ~/cti_project/dataset/UWF-ZeekData24-csv \
--dataset-root ~/datasets \
--output-dir ~/cti_project/distilbert_outputs
```
默认的 DistilBERT baseline 避免了标签泄露,剔除了模糊的文本抽象,并使用了 class weighting。对于不平衡的任务,请使用 macro-F1 和 per-class F1 作为主要评估指标。
标签:DLL 劫持, IP 地址批量处理, Petitpotam, 可解释AI, 大语言模型, 威胁情报, 库, 应急响应, 开发者工具, 网络安全, 网络遥测, 逆向工具, 配置错误, 隐私保护