Udaramalinda/llm-assisted-cyber-threat-intelligence
GitHub: Udaramalinda/llm-assisted-cyber-threat-intelligence
面向 5G O-RAN 安全的端到端 pipeline,结合 XGBoost 攻击检测、SHAP 可解释性分析和本地 LLM 威胁情报丰富,实现从网络攻击检测到结构化事件报告的自动化生成。
Stars: 0 | Forks: 0
# 面向 5G O-RAN 安全的 LLM 辅助网络威胁情报
这是一个端到端的 pipeline,它使用 XGBoost 检测网络攻击,将预测结果转换为结构化的 CTI 警报,通过本地 LLM(通过 Ollama 运行的 Phi-3-mini)对其进行丰富,并使用 SHAP 解释预测结果。
## 1. 前置条件
- Python 3.13.14
- [Ollama](https://ollama.com/download)(用于 LLM 阶段)
- 数据集文件 `Network_Dataset.csv` 需放置在 `data/` 目录中
## 2. 设置
```
# 1. 克隆 repo
git clone https://github.com/Udaramalinda/llm-assisted-cyber-threat-intelligence.git
cd llm-assisted-cyber-threat-intelligence
# 2. 创建并激活虚拟环境(本项目使用 Python 3.13.14)
python -m venv .venv
# Windows (PowerShell):
.venv\Scripts\Activate.ps1
# Windows (cmd.exe):
.venv\Scripts\activate.bat
# macOS / Linux:
source .venv/bin/activate
# 3. 安装 Python 依赖(到 venv 中)
pip install pandas numpy matplotlib seaborn scikit-learn imbalanced-learn xgboost shap requests jupyter
# 4. 安装并启动 Ollama,然后拉取模型
# 请先从 https://ollama.com/download 下载 Ollama
ollama pull phi3:mini
ollama serve
```
每当您打开并运行 notebooks 时,请保持虚拟环境处于活动状态(并让 Ollama 在其独立的终端中运行)——在运行任何单元格之前,请在 Jupyter/VS Code 中选择 `.venv` 解释器/内核。
## 3. 运行 pipeline
**按此顺序**运行 `notebooks/` 中的 notebooks —— 每一个都会使用上一步生成的文件:
| # | Notebook | 生成内容 |
|---|---|---|
| 1 | `01_eda_preprocessing.ipynb` | 清洗后的数据、编码器 (`outputs/`) |
| 2 | `02_model_training.ipynb` | 训练好的模型 `outputs/xgboost_model.pkl`、演示事件 |
| 3 | `03_cti_alert_generator.ipynb` | 结构化 CTI 警报 `outputs/alerts/` |
| 4 | `04_llm_enrichment.ipynb` | 经 LLM 丰富的故障报告 `reports/` |
| 5 | `05_shap_analysis.ipynb` | 基于 SHAP 的报告 `reports/shap_incident_*.md` |
打开每个 notebook 并自上而下运行所有单元格,然后再进行下一步。
## 4. 查看位置
- `reports/sample_incident_report.md` — 一份完整的事件报告示例
- `reports/all_incident_reports.md` — 所有已丰富的报告
- `reports/all_shap_reports.md` — 包含与不包含 SHAP 的对比
- `outputs/` — 训练好的模型、图表、原始警报
## 5. 注意事项
- 所有随机种子均已固定(`RANDOM_STATE = 42`),因此 ML 结果是可复现的。
- LLM 的输出在每次运行时会有轻微差异(temperature 设为 0.1,但它仍是一个生成式模型)。
标签:AI风险缓解, Apex, DLL 劫持, SHAP, XGBoost, 大语言模型, 威胁情报, 开发者工具, 机器学习, 网络安全, 网络流量分析, 逆向工具, 隐私保护