spoorthi2615/HuntGPT

GitHub: spoorthi2615/HuntGPT

该项目利用微调大语言模型将网络日志自主映射到 MITRE ATT&CK 技术进行威胁狩猎,并通过专门的过滤层防御嵌入在日志中的对抗性提示注入攻击。

Stars: 0 | Forks: 0

# HuntGPT-Shield **自主网络威胁狩猎与对抗性提示注入防御** HuntGPT-Shield 是一个全面的、端到端的网络安全 pipeline,旨在使用大型语言模型 (LLM) 将原始网络日志自主映射到 MITRE ATT&CK 技术。至关重要的是,它包含了一个健壮的过滤层,以保护 LLM 免受隐藏在网络 payload 中的对抗性提示注入攻击。 ## 🏗️ 架构 该系统由四个主要层组成: 1. **PromptGuard(过滤器)**:一个微调过的 `DeBERTa-v3-small` 序列分类器。它在传入的 Zeek 网络日志到达 LLM 之前,扫描其中是否包含嵌入式提示注入,并返回一个布尔的阻止/允许决定。 2. **ThreatHunter(分析师)**:一个使用 QLoRA 微调的 `Mistral-7B-Instruct-v0.2` 模型。它接收干净的网络日志并输出可解析的 JSON,将活动映射到特定的 MITRE ATT&CK `technique_id` 并生成分析师假设。 3. **自一致性评分器**:通过在 `temperature=0.7` 下采样 N=5 次预测,并返回多数投票和一致率(置信度/ECE),来评估 LLM 的置信度。 4. **React 仪表盘**:一个 Vite/Tailwind 前端,提供 SOC 分析师 UI,用于提交日志批次、查看实时 pipeline 执行情况、探索检测到的技术的 ATT&CK 热力图,以及监控系统的评估指标。 ## 🚀 快速开始(演示模式) 你可以在“Zero-Shot Stub Mode”下运行完整的 UI 和 pipeline,而无需 GPU 或微调模型。 ### 前置条件 * Docker & Docker Compose * 运行 `mistral:instruct` 的本地 [Ollama](https://ollama.ai/)(用于 zero-shot LLM 推理) ``` # Clone 仓库 git clone https://github.com/spoorthi2615/HuntGPT.git cd HuntGPT # 确保本地正在运行 Ollama ollama run mistral:instruct # 启动 frontend 和 backend 服务 docker compose up --build ``` 导航到 `http://localhost:5173` 即可访问 SOC Dashboard。 ## 🧠 训练模型 为了全面训练 PromptGuard 和 ThreatHunter 模型,您必须按照以下特定顺序执行数据准备脚本和训练任务。 ### 1. 数据准备 该 pipeline 依赖于 MITRE ATT&CK STIX 数据库和 DARPA OPTC 数据集(由于体积较大未包含在内)。 ``` # 下载并解析 MITRE STIX 数据 python src/data/attack_scraper.py # 生成 prompt injection 训练语料库(stratified split) python src/data/injection_builder.py # 将解析后的 OPTC Zeek 日志与 ground-truth technique labels 进行合并 python src/data/build_training_pairs.py ``` ### 2. PromptGuard 训练 (DeBERTa) 可以在本地 GPU 或 Colab T4 上运行(约 20 分钟)。 ``` # 训练模型 accelerate launch src/models/train_guard.py # 评估并生成 Table 1 指标 python src/eval/eval_guard.py ``` ### 3. ThreatHunter 微调 (Mistral-7B QLoRA) 需要 Colab A100 或同等配置(约 2 小时)。 1. 将 `data/processed/training_pairs.json` 上传到 Google Drive。 2. 从上到下打开并运行 `notebooks/train_llm_colab.ipynb`。 3. 将生成的 adapter 权重下载到 `models/threathunter/` 中。 ### 4. 系统评估与激活 一旦 ThreatHunter adapter 被放入 `models/threathunter/`,系统就会自动检测到它。您可以通过设置 `USE_FINETUNED_MODEL=true` 来强制 pipeline 使用该微调模型。 ``` # 运行最终评估以生成 Table 2 和 ECE calibration plot USE_FINETUNED_MODEL=true python src/eval/eval_threathunter.py python src/eval/eval_calibration.py ``` ## 🧪 运行测试 该项目使用 `pytest` 在整个 pipeline 中强制执行严格的 API 契约。 ``` # 安装测试依赖 pip install -r requirements-test.txt # 运行测试套件 pytest tests/ ``` 专为微调 adapter 设计的测试将自动 `skip`,直到 `models/` 目录中存在 adapter 产物,从而保持 CI 为绿色通过状态。
标签:AI风险缓解, ATT&CK框架, DLL 劫持, React, Syscalls, 大语言模型, 安全规则引擎, 提示注入防御, 源代码安全, 网络安全, 请求拦截, 逆向工具, 隐私保护