guaidao2/XuanMu-RedTeam-Agent
GitHub: guaidao2/XuanMu-RedTeam-Agent
一个开源的红队多 Agent 协作平台,通过 Blackboard 共享推理图和结构化证据面,实现可审查的 AI 辅助渗透测试与安全研究。
Stars: 3 | Forks: 0
English · 中文
具有 Blackboard 风格共享推理图的开源红队多 Agent 协作平台。
概述 · 架构 · Blackboard · 快速开始
## 概述 XuanMu (玄幕) 是一个**面向控制面的红队多 Agent 平台**,专为授权渗透测试、漏洞发现、代码审计和安全研究而构建。 它结合了: - 一个 **React 操作控制台**(Playground + 项目工作区) - 一个 **FastAPI 控制面**(REST + WebSocket) - 一个 **基于会话的多 Agent runtime**(主控 Agent + 专家 Agent) - 一个 **结构化证据面**(资产、发现、图谱、攻击路径) - 一个 **Blackboard 共享推理图**(受 Cairn 启发的 Fact-Intent 协同机制) 设计目标是使 Agent 辅助的安全工作**具备操作边界且完全可审查**。对话不是唯一的真实来源——项目范围、资产、发现、关系图、攻击路径、可回放的时间线,以及**Agent 的推理过程**都会作为显式的应用数据被持久化。 ## 架构 ``` ┌─────────────────────────────────────┐ │ React Operator Console │ │ Playground · Project Workspace │ └──────────────┬──────────────────────┘ │ REST + WebSocket ┌──────────────▼──────────────────────┐ │ FastAPI Control Plane │ │ System · Users · Agents · Projects │ └──────────────┬──────────────────────┘ │ ┌──────────────────────────┼──────────────────────────┐ │ │ │ ┌─────▼──────┐ ┌───────▼───────┐ ┌──────▼──────┐ │ Agent │ │ Blackboard │ │ Evidence │ │ Runtime │◄──────────► Reasoning │ │ Plane │ │ Session + │ read / │ Graph │ │ Assets │ │ Delegation │ write │ Fact/Intent │ │ Findings │ │ CSO + 5 │ │ /Hint │ │ GraphEdge │ │ Specialists│ │ │ │ AttackPath │ └─────┬──────┘ └───────────────┘ └──────┬──────┘ │ │ └──────────────────────┬─────────────────────────────┘ │ ┌──────────▼──────────┐ │ PostgreSQL │ └─────────────────────┘ ``` ### Agent 团队 | Code | Name | Role | |------|------|------| | `cso` | XuanMu (玄幕) | 安全主管 — 任务分解、协调、推理 | | `cae` | ShouZhuo (守拙) | 代码审计工程师 | | `cie` | GuanXing (观星) | 情报与侦察工程师 | | `cpe` | PoJun (破军) | 渗透测试工程师 | | `cre` | SuYuan (溯源) | 逆向分析工程师 | | `cce` | PoZhen (破阵) | 密码学工程师 | ### 执行 命令直接通过 Python asyncio 子进程在主机上运行——**无需 Docker**。执行层支持: - 支持超时的同步命令执行 - 带完成通知的后台异步任务管理 - 按行范围读取输出文件 - Skill 系统(位于 `.xuanmu/agents/skills/` 的可复用工具定义) - 知识库(结构化的方法论文档) ## Blackboard Blackboard 是一个**受 Cairn 启发的共享推理图**,它实现了 Stigmergy——Agent 通过共享的面板进行协调,而不是相互对话。 ### 节点类型 | Type | Meaning | Lifecycle | |------|---------|-----------| | **Fact** | 已确认的客观发现 | proposed → confirmed / rejected | | **Intent** | 声明的探索方向 | proposed → in_progress → confirmed / rejected / superseded | | **Hint** | 人类或 Agent 的指导 | persisted | ### Agent 如何使用它 ``` 1. read_blackboard() — see the full picture 2. create_intent() — declare direction before acting 3. [execute tools] 4. create_fact() — record findings, link to parent intent 5. update_node_status() — mark dead ends as rejected ``` Blackboard 层是对现有证据面(Asset / Finding / GraphEdge)的补充:证据记录了**发现了什么**,而 Blackboard 记录了**我们为什么去查看、发现了什么、下一步做什么**。 ### REST API | Endpoint | Method | Description | |----------|--------|-------------| | `GET /api/blackboard/{project_id}` | Read | 完整的 Blackboard 图谱快照 | | `POST /api/blackboard/{project_id}/nodes` | Create | 新的 Fact / Intent / Hint 节点 | | `PUT /api/blackboard/{project_id}/nodes/{node_id}` | Update | 修改状态 / 描述 | | `DELETE /api/blackboard/{project_id}/nodes/{node_id}` | Delete | 删除节点 | ## 技术亮点 | Feature | Description | |---------|-------------| | 多 Agent 编排 | 主控 Agent 通过委派任务和 Blackboard 协调专家 Agent | | 结构化证据面 | 资产、发现、关系图、攻击路径——全部持久化 | | Blackboard 推理图 | Cairn 风格的 Fact-Intent 图,用于可追溯的 Agent 推理 | | 可回放的时间线 | 标准化的时间线事件,可实时流式传输或作为历史记录加载 | | 无需 Docker | 命令通过 asyncio 子进程直接在主机上运行 | | 知识库 | Agent 可参考的结构化方法论文档 | | 完整的 Web UI | 带有图谱可视化的聊天 Playground + 项目工作区 | | 本地优先的 LLM | 直接进行 OpenAI 兼容的 API 调用——支持 DeepSeek、Qwen、GLM 等 | ## 快速开始 ### 前置条件 - **Linux**(推荐 Kali / Debian) - **Python ≥ 3.12** - **PostgreSQL**(由安装脚本自动安装) - **Node.js ≥ 18**(用于前端构建) ### 一键安装 ``` bash setup.sh ``` 这将: 1. 安装系统依赖(PostgreSQL、Node.js) 2. 配置数据库 3. 创建 Python 虚拟环境并安装依赖 4. 构建前端 5. 创建启动/停止脚本 ### 配置 ``` vi .xuanmu/config.json ``` 为每个 Agent 角色填写 LLM API 密钥、Base URL 和模型名称。 示例配置使用了 DeepSeek——它兼容任何 OpenAI 兼容的 API。 您还可以使用交互式配置工具: ``` bash config-tool.sh ``` 它将引导您为每个 Agent 设置 API 密钥、Base URL 和模型,而无需手动编辑 JSON。 ### 启动 ``` bash start.sh ``` 打开 **http://localhost:8000** ——使用 `admin@admin.com` / `admin123` 登录。 ## 仓库结构 ``` core/ Agent specs, runtime, delegation, context, tools service/ Domain services (agents, users, projects, blackboard) router/ FastAPI route declarations handler/ HTTP and WebSocket request handling model/ SQLModel database models schema/ Pydantic API contracts blackboard/ Shared reasoning graph module model/ Database model schema/ API contracts service/ Business logic handler/ HTTP handling router/ API routes web/ React frontend (Playground + admin console) .xuanmu/ Runtime config, agent prompts, knowledge files ``` ## 许可证 本项目基于 [MIT License](LICENSE) 授权。 ## 致谢 - [Cairn](https://github.com/oritera/Cairn) — 基于 Fact 图谱的协作探索协议,它启发了 Blackboard 架构 - [Z3r0](https://github.com/yv1ing/Z3r0) — 本项目 Fork 自的原始开源红队协作工作台标签:Aarch64, AV绕过, CISA项目, FastAPI, React, SQL查询, Syscalls, 事件响应, 多智能体协作, 安全AI智能体, 密码管理, 测试用例, 计算机取证, 逆向工具