solomonneas/hotwash
GitHub: solomonneas/hotwash
一个将 Markdown/Mermaid 编写的应急响应剧本转换为交互式流程图并提供逐步执行引擎和 AI 生成能力的蓝队工具。
Stars: 0 | Forks: 0
# ⚒️ Hotwash
**具有可视化流程图、SOAR 执行引擎和 AI 剧本生成功能的 IR(事件响应)运行手册构建器。**
Hotwash 能够将 Markdown 和 Mermaid 语法编写的事件响应运行手册转换为带有完整执行引擎的交互式流程图可视化界面。SOC 团队可以逐步构建、执行和跟踪运行手册的运行过程。AI 生成功能可以通过自然语言提示词创建运行手册。SOAR 集成可连接到真实的响应平台。

## 功能
- **Markdown 转流程图** - 将结构化的 Markdown 运行手册解析为节点-边图
- **Mermaid 语法** - 原生支持 Mermaid 流程图语法
- **交互式画布** - 使用 React Flow 实现拖拽、平移和缩放
- **自定义节点类型** - 阶段、步骤、决策、执行、合并,支持 5 种变体样式
- **运行手册库** - 浏览、分类并按类型(漏洞、事件响应、威胁狩猎)过滤
- **执行引擎** - 逐步运行手册,支持实时状态跟踪、时间戳和执行历史记录
- **AI 运行手册生成** - 根据自然语言事件描述生成完整的运行手册
- **SOAR 集成** - 内置动作库,可连接到真实的响应平台
- **MCP 集成** - 用于 AI 辅助执行的 Model Context Protocol 钩子
- **MiniMap 与控件** - 鸟瞰图和视口导航
- **客户端解析** - 在浏览器中进行零延迟的 Markdown 渲染
- **5 种视觉主题** - SOC、Analyst、Terminal、Command、Cyber 变体
- **引导式导览** - 为首次使用的用户提供交互式演练
- **离线优先** - 无需后端即可进行可视化
## 快速开始
```
# 克隆并安装
git clone https://github.com/solomonneas/hotwash.git
cd hotwash
# Frontend
cd web && npm install && npm run dev
# Backend(可选,用于 playbook 生成 AI)
cd ../api && pip install -r requirements.txt && python main.py
```
前端:**http://localhost:5177**
后端:**http://localhost:8000**(可选)
## 技术栈
| 层级 | 技术 | 用途 |
|-------|-----------|---------|
| **前端** | React 18 | 交互式仪表盘 |
| **语言** | TypeScript 5 | 类型安全 |
| **样式** | Tailwind CSS 3 | 实用优先的 CSS |
| **画布** | React Flow 11 | 节点-边图可视化 |
| **状态** | Zustand | 全局状态管理 |
| **构建工具** | Vite 5 | 开发服务器与构建 |
| **后端**(可选) | FastAPI | 运行手册生成与存储 |
| **解析器** | 自定义 Markdown 解析器 | 内联运行手册解析 |
## 运行手册语法
### Markdown 格式
```
# Incident Response:Ransomware Attack
## 阶段:Detection
- Step: Identify affected systems
- Check EDR alerts
- Correlate with SIEM events
- Document initial indicators
## 阶段:Analysis
- Decision: Is it a critical system?
- YES -> Execute: Isolate from network
- NO -> Execute: Begin forensic collection
## 阶段:Containment
- Step: Isolate affected hosts
- Segment network access
- Disable user accounts
- Preserve evidence
## 阶段:Eradication
- Step: Remove malware
- Scan with multiple AV engines
- Remove registry keys
- Patch vulnerabilities
## 阶段:Recovery
- Step: Restore systems
- Restore from clean backups
- Apply security patches
- Re-enable user access
```
### Mermaid 格式
```
flowchart TD
A[Detection] --> B{Critical System?}
B -->|Yes| C[Isolate Network]
B -->|No| D[Preserve Evidence]
C --> E[Begin Analysis]
D --> E
E --> F[Eradicate Threat]
F --> G[Recover Systems]
```
## 节点类型
| 类型 | 用途 | 示例 |
|------|---------|---------|
| **Phase(阶段)** | 主要事件响应阶段 | 检测、分析、遏制 |
| **Step(步骤)** | 程序化动作 | 执行 EDR 扫描、记录调查结果 |
| **Decision(决策)** | 条件分支(是/否) | 是否严重?是否存在恶意软件? |
| **Execute(执行)** | SOAR 动作或工具集成 | 隔离主机、禁用账户、封禁 IP |
| **Merge(合并)** | 汇合点 | 重新汇合分析路径 |
## 5 种变体
| 变体 | 主题 | 用例 |
|---------|-------|----------|
| **SOC** | 深石板色,红色点缀 | 安全运营中心 |
| **Analyst** | 纯白,蓝色 | 专业分析 |
| **Terminal** | 黑色,矩阵绿 | 技术事件响应 |
| **Command** | OD 绿,琥珀色 | 军事风格行动 |
| **Cyber** | 霓虹青/品红 | 赛博朋克美学 |
所有变体均使用相同的解析引擎和 React Flow 画布。支持即时切换主题。
## 项目结构
```
hotwash/
├── web/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ │ ├── Canvas.tsx # React Flow canvas
│ │ │ ├── NodeEditor.tsx # Custom node properties panel
│ │ │ ├── PlaybookLibrary.tsx
│ │ │ └── ...
│ │ ├── pages/
│ │ │ ├── Editor.tsx # Main editing interface
│ │ │ ├── Library.tsx # Playbook browser
│ │ │ └── Settings.tsx
│ │ ├── parsers/
│ │ │ ├── markdownParser.ts # Markdown to graph converter
│ │ │ ├── mermaidParser.ts # Mermaid parser
│ │ │ └── validator.ts
│ │ ├── store/
│ │ │ └── usePlaybookStore.ts # Zustand (persisted)
│ │ └── variants/ # 5 theme layouts
│ ├── package.json
│ └── vite.config.ts
├── api/ # FastAPI backend (optional)
│ ├── main.py # Entry point
│ ├── playbooks/ # Playbook storage
│ ├── generator/ # AI-powered generation
│ └── requirements.txt
└── README.md
```
## SOAR 动作
适用于常见 SOAR 平台的内置动作库:
**事件响应动作:**
- `isolate_host` - 将主机从网络中移除
- `disable_account` - 禁用用户账户
- `block_ioc` - 封禁 IP/域名/哈希值
- `snapshot_vm` - 创建虚拟机快照
- `quarantine_email` - 隔离电子邮件
**侦察:**
- `whois_lookup` - IP/域名注册信息
- `virustotal_check` - 文件哈希信誉
- `shodan_search` - 互联网扫描结果
所有动作都是可供团队自定义的模板。
## Wazuh 集成
Hotwash 通过 `POST /api/ingest/wazuh` 接口(HMAC 认证)接收 Wazuh 告警,
并将它们与映射表进行匹配,从而可以 `auto`(自动)启动运行、排队等待
人工审核建议,或仅作记录。映射可通过
`/api/ingest/mappings` CRUD 进行管理。有关集成脚本模板、HMAC 方案和冷却语义,
请参阅 [docs/WAZUH-INGEST.md](docs/WAZUH-INGEST.md)。
## 路线图
Hotwash 的下一步计划:一个 Model Context Protocol 服务器 (`hotwash-mcp`),用于将运行手册引擎暴露给 AI 代理;以及一个 Wazuh 告警摄取路径,用于将入站告警转化为运行记录。
完整计划请参阅 [docs/ROADMAP.md](docs/ROADMAP.md)。
## 许可证
MIT - 详见 [LICENSE](LICENSE)。
标签:AI生成, AV绕过, FastAPI, GPT, HTTP/HTTPS抓包, IR, Markdown, Mermaid, Mutation, Playbook, Python, React, React Flow, Runbook, SOAR, Syscalls, Tailwind CSS, TypeScript, 可视化, 后端开发, 图表生成, 安全插件, 库, 应急响应, 态势感知, 执行引擎, 无后门, 流程图, 漏洞管理, 网络安全, 隐私保护