titomazzetta/GenAi-Purpleteam

GitHub: titomazzetta/GenAi-Purpleteam

一套 AI 辅助的紫队实验平台,整合了攻击模拟、多源日志采集、本地大模型分析和 MITRE ATT&CK 映射,用于评估和展示安全检测能力。

Stars: 0 | Forks: 0

# GenAI 紫队实验室 ![Python](https://img.shields.io/badge/Python-3.9+-blue) ![License](https://img.shields.io/badge/License-MIT-green) 一个自动化的 **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绕过, 紫队, 网络安全, 网络安全审计, 网络资产发现, 自动化报告, 逆向工具, 隐私保护