titomazzetta/GenAi-Purpleteam
GitHub: titomazzetta/GenAi-Purpleteam
一套 AI 辅助的紫队实验平台,整合了攻击模拟、多源日志采集、本地大模型分析和 MITRE ATT&CK 映射,用于评估和展示安全检测能力。
Stars: 0 | Forks: 0
# GenAI 紫队实验室


一个自动化的 **AI 辅助紫队模拟实验室**,用于单虚拟机安全测试,它
模拟 adversary 行为,收集多传感器遥测数据,并执行
LLM 辅助的防御性分析,包含 MITRE ATT&CK 映射和报告。
作为一个实用的网络安全工程项目构建,此仓库演示了生成式 AI 如何在可复现的实验室工作流中支持 **红队模拟** 和 **蓝队防御分析**。
📖 详细系统设计:[实验室架构](LAB_ARCHITECTURE.md)
### 建议的 GitHub "About" 文本
`在单个 Debian/Kali 虚拟机上进行自动化紫队模拟 —— AI 生成的攻击场景、安全的本地模拟、多传感器日志收集,以及 Ollama 驱动的防御性分析与 MITRE ATT&CK 映射。`
## 作品集亮点
- 使用 Python 构建了端到端的紫队工作流(场景生成 → 模拟 → 收集 → AI 分析 → 报告)
- 将多源遥测数据(Suricata, auditd, 可选 Zeek/Wazuh)集成为一个规范化的时间线
- 添加了带有检测覆盖率评分的 MITRE ATT&CK 技术映射,以揭示可见性缺口
- 通过 Ollama 实现了本地 LLM 分析,并具有确定性的回退处理以确保演示的稳定性
- 生成了可重复的 Markdown 报告,适用于 SOC 风格的事件审查和毕业项目展示
## 实施图谱(项目范围)
**威胁场景重点:**
此实验室在受控环境中模拟钓鱼驱动的初始访问,并通过 ATT&CK 映射、IOC 提取和缓解指导来评估防御可见性。
**项目交付内容:**
该项目利用生成式 AI 进行场景生成、日志分析、IOC 提取和防御建议,展示了端到端的红队 + 蓝队操作。
### 端到端工作流映射
1. **建立 GenAI 攻击模拟(红队)**
通过 AI 生成的钓鱼借口和攻击计划生成实现(`run generate` / `run demo` / `run full`)。
2. **建立攻击者环境**
实现为 **安全的本地模拟**,以在实验室条件下生成检测遥测数据(非破坏性命令;无真实恶意软件部署)。
3. **开始蓝队分析**
通过多传感器收集(`collector.py`)和构建规范化时间线用于事件审查来实现。
4. **运行 SOC L2 响应和威胁检测**
通过 AI 辅助洞察、IOC 提取、ATT&CK 映射、检测缺口分析和起草防御规则工件来实现。
5. **编译最终威胁模拟报告**
通过 `runs//report.md` 中的自动报告生成实现,包含执行摘要、证据、覆盖范围和建议。
# 项目概述
紫队结合了:
### 红队
模拟真实的攻击场景。
### 蓝队
检测、分析并响应这些攻击。
本项目使用以下工具自动化了双方:
- Python 自动化
- 安全日志收集
- MITRE ATT&CK 映射
- 使用 **Ollama(本地 LLM)** 进行 AI 分析
- 自动化报告和防御建议
## 为什么选择 Ollama(本地 AI)用于此项目
我们选择 **Ollama** 是因为它在本地免费使用、模块化,且适用于毕业项目/实验室工作流:
- 重复演示和测试运行**无单次调用 API 成本**
- 实验室虚拟机/网络内**支持离线**操作
- **数据保留在本地**(日志和遥测数据无需离开您的环境)
- **模型灵活性**(在 `mistral`、`llama3` 或 `phi3` 等模型之间切换)
- 评分/演示的**可复现性**:相同的主机、相同的模型、相同的流水线
### 在本地运行 AI 用于紫队实验室的优势
- 更好地控制敏感日志数据
- 本地推理调用的延迟更低
- 演示期间的外部依赖故障更少
- 更容易针对防御性分析提示词进行自定义和调优
# 架构工作流
```
Attack Simulation (Red Team)
↓
System & Network Log Collection
↓
AI Log Analysis (Ollama)
↓
IOC Extraction + MITRE ATT&CK Mapping
↓
Detection Coverage Scoring
↓
AI-Generated Mitigation Recommendations
↓
Automated Security Report
```
# 主要功能
## AI 攻击模拟
使用生成式 AI 生成真实的攻击场景。
示例:
- 鱼叉式网络钓鱼模拟
- 命令执行
- 反向 Shell 活动
- 凭证访问模拟
## 蓝队日志分析
系统收集如下日志:
- 系统日志
- 网络事件
- 安全警报
- 命令执行痕迹
然后 AI 分析这些日志以识别可疑活动。
## MITRE ATT&CK 映射
检测到的活动被映射到 MITRE ATT&CK 技术,例如:
- **T1566.001 -- 鱼叉式网络钓鱼附件**
- **T1059.003 -- 命令行 Shell**
- **T1003 -- 凭证转储**
## 检测覆盖率评分
示例:
技术 已模拟 已检测
T1566.001 是 是
T1059.003 是 否
检测覆盖率:
```
2 / 3 techniques detected
Coverage: 66%
```
这展示了**安全可见性缺口**。
## 示例运行结果(评审人员应关注的内容)
成功运行(`python3 purplelab.py run demo` 或 `run full`)后,评审人员可以验证:
- `runs//processed/timeline.json` 中捕获的时间线事件
- `runs//processed/ai_insights.json` 中的 AI 洞察
- `runs//report.md` 中的最终报告
- 终端输出中的覆盖率摘要(已检测 vs 未检测技术)
示例检查:
```
python3 purplelab.py show summary
python3 purplelab.py show report
```
# AI 安全分析
使用 **Ollama**,AI 模型分析日志并生成:
- 妥协指标
- 检测缺口
- 威胁分析
- 防御建议
示例:
```
Indicators of Compromise
• suspicious-domain.xyz
• reverse shell to 10.10.10.5
• encoded PowerShell command
```
# 项目结构
```
GenAi-Purpleteam
│
├── purplelab.py
│
├── modules
│ ├── ai_analyzer.py
│ ├── collector.py
│ ├── emulation.py
│ ├── reporter.py
│ └── setup.py
│
├── config
│ └── purplelab.yaml
│
├── requirements.txt
├── README.md
└── LICENSE
```
# 安装(Linux / Kali / Ubuntu)
推荐环境:
- Kali Linux
- Ubuntu
- Debian
最低要求:
- Python 3.9+
- 推荐 8GB RAM
- 互联网连接
- sudo 权限
### VMware Fusion (Mac Studio) 上的 ARM64 Kali 检查清单
如果您在 Apple Silicon 的 VMware Fusion 中运行 Kali ARM64,此项目与该设置兼容。
在运行实验室之前使用此快速检查清单:
- 确认架构为 ARM64:
```
uname -m
```
预期:`aarch64` 或 `arm64`
- 确保已安装 VMware 客户机工具(改善虚拟机网络和时钟同步):
```
sudo apt update
sudo apt install -y open-vm-tools open-vm-tools-desktop
```
- 验证您的虚拟机网卡已显示(通常是 `ens33`、`eth0` 或类似名称):
```
ip -br a
ip route
```
PurpleLab 默认设置为 `interface: auto`,推荐用于 VMware 环境。
# 步骤 1 --- 安装 Ollama
PurpleLab 需要 **Ollama** 进行 AI 分析。
安装:
```
curl -fsSL https://ollama.com/install.sh | sh
```
验证:
```
ollama --version
```
启动服务:
```
sudo systemctl start ollama
```
如果 systemctl 不可用:
```
ollama serve
```
# 步骤 2 --- 下载 AI 模型
推荐模型:
```
ollama pull llama3
```
轻量级模型:
```
ollama pull phi3
```
验证模型:
```
ollama list
```
# 步骤 3 --- 克隆仓库
```
git clone https://github.com/titomazzetta/GenAi-Purpleteam.git
cd GenAi-Purpleteam
```
# 步骤 4 --- 创建 Python 虚拟环境
```
python3 -m venv .venv
source .venv/bin/activate
```
您的提示符现在应显示:
```
(.venv)
```
# 步骤 5 --- 安装 Python 依赖
```
pip install --upgrade pip
pip install -r requirements.txt
```
# 步骤 6 --- 验证环境
```
python3 purplelab.py doctor
```
预期输出:
```
[Doctor] Basic health checks
runs directory created
Ollama reachable at localhost:11434
```
# 运行紫队实验室
## 快速演示
```
python3 purplelab.py run demo
```
可靠演示检测的注意事项:
- 首先运行一次 setup(`python3 purplelab.py setup`),以便 auditd/Suricata 规则就位。
- 演示模式使用确定性的安全步骤,更容易在 ARM64 和 x86_64 架构上检测。
- 演示包含良性的 payload/reverse-shell 模拟标记(非破坏性),以演练蓝队检测和 AI 分析路径。
- 如果覆盖率仍然较低,请验证传感器服务是否正在运行,以及您的用户是否有权读取/导出日志。
- 收集是非阻塞的:如果 `sudo` 需要密码,audit 导出将被跳过而不是挂起。
- 如果 Ollama 处于离线状态,PurpleLab 现在会从遥测数据生成确定性的回退洞察 + 候选 IOC,因此结果仍然有用。
- 为了毕业项目/演示的可靠性,请在 `config/purplelab.yaml` 中保持 `ai.auto_pull_model: true` 并设置 `ai.retries: 1`(或更高)。
## 完整紫队模拟
```
python3 purplelab.py run full
```
系统将:
1. 生成 AI 攻击场景
2. 执行模拟的攻击行为
3. 收集系统日志
4. 使用 AI 分析日志
5. 提取 IOC
6. 将活动映射到 MITRE ATT&CK
7. 计算检测覆盖率
8. 生成缓解建议
9. 生成最终报告
# 查看结果
报告存储在:
```
runs//report.md
```
示例:
```
runs/2026-03-05/report.md
```
在终端显示结果:
```
python3 purplelab.py show summary
```
查看完整报告:
```
python3 purplelab.py show report
```
# 使用的技术
- Python
- Ollama(本地 LLM)
- MITRE ATT&CK 框架
- 安全日志分析
- 生成式 AI
# 展示的技能
- Python 自动化和 CLI 工作流设计
- 检测工程(Suricata/auditd/Zeek/Wazuh 日志处理)
- MITRE ATT&CK 映射和覆盖率分析
- SOC 风格的事件分流和报告
- 本地 LLM 集成(Ollama)、提示词工程和可靠性保障
- Linux/虚拟机实验室搭建和故障排除(包括 ARM64 VMware 工作流)
# 已知局限与路线图
当前局限:
- 单主机演示模式可能无法完全代表真实的多主机企业流量
- 检测保真度取决于本地传感器/服务就绪情况和日志权限
- 本地模型质量/性能因可用硬件和所选模型而异
计划改进:
- 添加基线与攻击的差异过滤,以实现更清晰的信号隔离
- 通过额外的确定性模拟步骤扩展 ATT&CK 覆盖范围
- 添加可选的 SIEM 导出适配器和更丰富的检测规则验证
- 添加基准测试运行工件(覆盖趋势和计时指标)
# 教育目的
此项目演示了生成式 AI 如何辅助:
- 自动化红队模拟
- 蓝队日志分析
- 检测覆盖率评估
- 事件响应建议
# 许可证
MIT 许可证
标签:adversary emulation, AES-256, AI风险缓解, Auditd, Cloudflare, Debian, DNS 反向解析, DNS 解析, GenAI, HTTP工具, IOC 提取, IP 地址批量处理, LLM, LLM评估, Metaprompt, MITRE ATT&CK, Ollama, Python, Rootkit, SOC 报告, Suricata, TGT, Unmanaged PE, Wazuh, Zeek, 人工智能, 单机实验室, 子域名变形, 安全分析, 安全工程, 安全遥测, 攻防演练, 无后门, 本地大模型, 检测规则, 漏洞评估, 现代安全运营, 用户模式Hook绕过, 紫队, 网络安全, 网络安全审计, 网络资产发现, 自动化报告, 逆向工具, 隐私保护