genyarko/warroom
GitHub: genyarko/warroom
一个基于 Band 聊天平台的多智能体网络安全事件响应编排系统,让不同框架构建的 AI 智能体通过结构化协议协同处置安全事件,仅在不可逆决策时才升级至人类。
Stars: 0 | Forks: 0
# WarRoom
**多智能体网络安全事件响应,通过 Band 协调。**
Band of Agents 黑客松 · 赛道 3 — 受监管与高风险工作流
一个安全警报触发。四个自主 AI 智能体 —— 构建于**不同的智能体
框架**,并跨越**两个组织的 Band 账户** —— *一起* 响应
该事件,完全通过一个 Band 聊天室并使用 `@mention`
消息来进行。人类仅在需要做出不可逆的、受监管的决定时才会被拉入。
当事件结束时,聊天记录**即是**审计追踪。
## 智能体团队
| 智能体 | 框架 | 角色 |
|---|---|---|
| **Triage** | LangGraph | 对警报进行分类;将合适的专家招募进聊天室。 |
| **Threat Intel** | LangGraph | 恶意软件归因 + 横向移动传播评估。 |
| **Compliance** | Pydantic AI | 运行在**另一家公司**的 Band 账户上(外部法律顾问)。掌控监管时钟并持有**否决权**。 |
| **Incident Commander** | Anthropic | 驱动响应;**仅在**获得明确批准后执行操作。 |
| _Facilitator_ | (watchdog) | 静默观察者,如果事件响应停滞,它会提示下一个预期的参与者。 |
不同的框架,两个账户 —— 这是对 **Band 作为
互操作层**的真正测试,而不是一个智能体的四个副本。
## 场景 (演示: `INC-C`)
勒索软件袭击了主客户数据库(PII + 财务数据)。
- **Threat Intel:** 现在就隔离并擦除 —— 它正朝着域控制器蔓延。
- **Compliance:** 该主机是处于**法律保全**下的法庭证据 —— 你不能销毁它。(GDPR 第 33 条启动了**实时 72 小时倒计时**。)
两个智能体都没有错 → 一个真正的僵局。因此,Commander **将其升级给
人类 CISO**,由后者在一条消息中做出裁决。首先保全证据,
然后授权擦除,并且**每一个破坏性操作都受到门控**,
必须在批准或人类裁决之后才能执行。
其他事件演练了协议的其余部分:`INC-A`(一个普通
木马)完全**自主**解决,无需人类介入;`INC-B` 是一个误报,
Triage 在不招募任何人的情况下直接将其关闭。
## 工作原理
- 一个 Band 聊天室;智能体仅通过 `@mention` 消息进行交流。
- 结构化协议:`BRIEF → FINDING → QUESTION → SIGNOFF_REQUEST → SIGNOFF / VETO → ESCALATION → ACTION → RESOLUTION`。
- 不对称的知识 —— 只有 Threat Intel 查询 IOC,只有 Compliance 推断数据类别/法规 —— **迫使** 智能体进行交流。
- 领域工具从确定性的模拟环境 (`shared/mock_env/`) 中读取数据。
- `scripts/export_report.py` 将完成的聊天室转换为结构化的事件
报告:决策时间线、人类的裁决、监管时钟,以及每项
操作及其原因。
## 快速开始 (Windows / PowerShell)
```
# 1. 设置环境(Python 3.11+;在 3.14 上开发)
python -m venv .venv
.venv\Scripts\python.exe -m pip install -e .
# 2. 配置凭据
copy .env.example .env # AIML / OpenAI + Anthropic keys
copy agent_config.yaml.example agent_config.yaml # Band agent UUIDs + API keys
# 3. 启动全部四个 agent(headless)并等待绿灯
powershell -ExecutionPolicy Bypass -File scripts\run_all.ps1 -Headless
# -Check:"全部 4 个是否已连接?" -Stop:停止它们 -Force:重新启动
# 4. 触发 incident
.venv\Scripts\python.exe -m injector.inject_alert INC-C
# 在 Band 的免费层级上,通过 human API 创建 room 被阻止,因此
# injector 会打印警报供你 PASTE 到一个新的 room 中 @-mentioning
# Triage。INC-C 将运行至 human-escalation 暂停;发布你的 CISO 裁决
# @mentioning Commander 以让其完成。
# 5. 导出 audit trail
.venv\Scripts\python.exe scripts\export_report.py --room
```
此外还提供了 `Dockerfile` + `docker-compose.yml`,用于在
容器中启动智能体。
## 项目布局
```
agents/ triage · threat_intel · compliance · commander (main.py + tools.py + prompt.md each)
shared/ protocol, config, mock_env data, reg_clock, band logging, sdk_patches
injector/ inject_alert.py — fires a scripted alert at Triage
scripts/ run_all.ps1 (launcher) · incident_driver.py (Facilitator watchdog) ·
export_report.py · export_transcript.py · clean_rooms.py
tests/ pytest suite (77 passing) — pure-function coverage, no network
docs/ recovery.md (crash/restart behavior) and more
demo/ video narration script + presentation text
```
## 测试
```
.venv\Scripts\python.exe -m pytest tests/ -q # 77 passing
```
## 注意事项与已知限制
- **Band 免费版** 屏蔽了人类创建聊天室的 API,因此注入器会回退
到手动粘贴;Compliance 作为外部法律顾问位于第二个账户上。
- LangGraph/Pydantic-AI 智能体通过兼容 OpenAI 的 **AIML**
endpoint 运行 gpt-4o;Commander 使用 **Anthropic**(`docs/recovery.md` 涵盖了故障
模式和恢复 —— 智能体在重启时会重新加入聊天室并重放积压消息)。
- 请参阅 [`shared/protocol.md`](./shared/protocol.md) 获取完整的协作
协议,以及 [`warroom-implementation-plan.md`](./warroom-implementation-plan.md)
获取构建计划。
标签:AI合规, DLL 劫持, 多智能体, 大语言模型, 威胁情报, 安全规则引擎, 安全运营, 库, 应急响应, 开发者工具, 扫描框架, 网络调试, 自动化, 请求拦截, 逆向工具