vanshkamra12/CyberThreat-Intel-LLM
GitHub: vanshkamra12/CyberThreat-Intel-LLM
基于 Phi-3 微调的模型,能自动将原始 CVE 数据转换为包含 MITRE ATT&CK 映射及检测规则的结构化威胁情报报告。
Stars: 1 | Forks: 0
# 🛡️ CyberThreat Intel LLM
一个基于 Microsoft **Phi-3-mini** 构建的微调语言模型,它接收漏洞数据并生成结构化的、分析师级别的威胁情报报告。你可以把它想象成一个永不休息的初级 SOC 分析师。
### [▶️ 试用在线演示](https://huggingface.co/spaces/vanshkamra12/CyberThreat-Intel-Analyzer) | [ Hugging Face 模型](https://huggingface.co/vanshkamra12/CyberSecurity-Model)
## 🎯 功能
输入一个原始 CVE(像这样):
```
CVE-2024-21762: Out-of-bound write vulnerability in FortiOS SSL VPN
allows remote unauthenticated attackers to execute arbitrary code via
specially crafted HTTP requests. CVSS: 9.8
```
它会生成一份包含以下内容的完整结构化报告:
- 📋 **执行摘要** —— 用通俗英语解释发生了什么
- 🔬 **技术分析** —— 攻击向量、复杂度、所需权限
- 🚨 **入侵指标** —— 在日志中需要留意的内容
- 🗺️ **MITRE ATT&CK 映射** —— 映射到真实的技术 ID(如 T1210, T1212 等)
- ⚠️ **风险评估** —— 业务影响和威胁等级
- 🔧 **补救步骤** —— 修复问题的优先级行动
- 🔍 **检测规则** —— 可直接使用的 YARA 和 Sigma 规则
## 🧠 工作原理
### 阶段 1:构建数据集
一个 Python 流水线(`scripts/build_dataset.py`),负责:
1. 从 **NIST 国家漏洞数据库** API 获取真实世界的 CVE 数据
2. 将每个 CVE 发送给 **Llama 3.1 8B**(通过 Groq)以生成结构化的威胁报告
3. 输出 471 个高质量的指令微调对,格式为 JSONL
该数据集覆盖了广泛的漏洞类型 —— SQL 注入、RCE、XSS、权限提升、缓冲区溢出等等。
### 阶段 2:在 Colab 上进行微调
Phi-3-mini 模型使用以下方式进行了微调:
- **QLoRA**(4-bit 量化) —— 适配免费 T4 GPU
- **Unsloth** —— 训练速度提升 2 倍,内存占用减少 70%
- **LoRA rank 16** —— 总共 3.8B 参数中有 29.8M 可训练参数(0.78%)
训练在 Google Colab 上运行了 60 步。在大约 20 分钟内,Loss 从 **0.83 降至 0.33**。
## 📊 训练结果
| 指标 | 数值 |
|--------|-------|
| 基础模型 | `Phi-3-mini-4k-instruct` |
| 量化 | 4-bit (QLoRA) |
| 可训练参数 | 29.8M / 3.8B (0.78%) |
| 训练样本 | 471 |
| 起始 Loss | 0.831 |
| 最终 Loss | **0.337** |
| 训练时长 | T4 GPU 上约 20 分钟 |
## 📁 项目结构
```
CyberThreat-Intel-LLM/
├── scripts/
│ └── build_dataset.py # Data generation pipeline
├── data/
│ ├── threat_intel_dataset.jsonl # 471 training examples
│ └── raw_cves.json # Raw CVE data from NVD
├── train_master_script.py # Training script (designed for Colab)
├── requirements.txt # Dependencies
└── README.md
```
## 🚀 快速开始
### 运行数据流水线
如果你想自己生成更多训练数据:
```
pip install -r requirements.txt
```
创建一个 `.env` 文件:
```
GROQ_API_KEY=your_groq_api_key
```
运行流水线:
```
python scripts/build_dataset.py
```
如果脚本被中断,它会从上次停止的地方继续执行 —— 不会浪费 API 调用。
### 训练
将 `data/threat_intel_dataset.jsonl` 上传到 Google Colab,并按照 `train_master_script.py` 中的单元格操作。你需要一个 T4 GPU(免费 tier 即可)。
## 🤗 模型
微调后的模型托管在 Hugging Face 上:
**[vanshkamra12/CyberSecurity-Model](https://huggingface.co/vanshkamra12/CyberSecurity-Model)**
```
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("vanshkamra12/CyberSecurity-Model")
tokenizer = AutoTokenizer.from_pretrained("vanshkamra12/CyberSecurity-Model")
```
## 🛠️ 技术栈
| 工具 | 用途 |
|------|---------|
| Python + PyTorch | 核心框架 |
| Unsloth | 优化微调(2 倍速度) |
| HF Transformers, TRL, PEFT | 模型加载与训练 |
| NIST NVD API | 真实漏洞数据 |
| Groq API (Llama 3.1 8B) | 合成报告生成 |
| Google Colab (T4 GPU) | 训练环境 |
## 📄 许可证
MIT —— 随意使用。
标签:Cloudflare, CVE分析, CVSS评分, DLL 劫持, DNS信息、DNS暴力破解, Fine-tuning, Hugging Face, IOC提取, Llama 3.1, LLM, LoRA, Microsoft Phi-3, MITRE ATT&CK, NIST NVD, Phi-3, Python, QLoRA, RCE, Sigma规则, SOC分析师, Sysdig, Unmanaged PE, Unsloth, XSS, YARA, YARA规则, 云资产可视化, 凭据扫描, 协议分析, 大语言模型, 威胁情报, 子域名暴力破解, 安全运营, 开发者工具, 微调, 扫描框架, 无后门, 权限提升, 模型量化, 漏洞修复, 漏洞分析, 漏洞情报, 目标导入, 结构化报告, 缓冲区溢出, 编程工具, 网络安全, 网络安全培训, 自动化检测, 路径探测, 远程代码执行, 逆向工具, 隐私保护