serenity99789/better-soar-playbook-agent
GitHub: serenity99789/better-soar-playbook-agent
一个由 AI 驱动的 SOAR Playbook 生成平台,支持从文本或日志自动生成安全编排剧本,并集成 MITRE ATT&CK 映射、反向查询搜索、审批工作流和版本控制功能。
Stars: 0 | Forks: 0
# 🛡️ SOAR Playbook 生成平台
一个由 AI 驱动的安全编排、自动化和响应 (SOAR) Playbook 生成平台,具备 MITRE ATT&CK 映射和反向查询功能。
## 🚀 功能特性
### 核心能力
- **多输入支持**:处理文本描述、文件上传 (.txt, .json, .csv, .log, .irp)
- **MITRE ATT&CK 集成**:自动映射到相关的 MITRE 技术
- **特定平台查询**:为 Splunk CIM 和 Google SecOps (Chronicle UDM) 生成查询
- **反向查询搜索**:根据查询模式查找现有的 Playbook
- **基于风险的评分**:动态风险计算,支持可调节因子
- **审批关卡**:为高风险操作配置可定制的审批工作流
- **版本控制**:完整的审计跟踪,支持分支和回滚功能
### 安全功能
- **字段映射引擎**:从规范化 Schema 到特定平台的字段映射
- **资产关键性感知**:基于资产重要性的上下文感知响应
- **工作时间强制执行**:基于时间的审批要求
- **特权账户检测**:针对管理员账户操作的增强控制
### 企业级功能
- **审计跟踪**:完整的变更跟踪和合规性报告
- **导出能力**:支持 JSON、Markdown 和 CSV 导出格式
- **模板库**:针对常见安全场景的预构建模板
- **API 优先设计**:用于与现有系统集成的 RESTful API
## 📋 前置条件
- Node.js 16.x 或更高版本
- npm 8.x 或更高版本
- 最少 4GB RAM
- 2GB 磁盘空间
## 🛠️ 安装说明
### 1. 克隆仓库
```
git clone
cd better-soar-playbook-agent
```
### 2. 安装依赖
```
npm install
```
### 3. 构建前端
```
npm run build:client
```
### 4. 启动应用
```
# Development 模式
npm run dev
# Production 模式
npm start
```
应用可通过以下地址访问:
- 前端:http://localhost:8080 (开发环境) 或 http://localhost:3000 (生产环境)
- API:http://localhost:3000
## 📖 使用指南
### Web 界面
1. **生成 Playbook**
- 导航到 "Generate Playbook" 标签页
- 选择输入类型(文本或文件上传)
- 选择目标平台(Splunk 或 Chronicle)
- 可选指定类别和严重性
- 点击 "Generate Playbook"
2. **反向查询搜索**
- 进入 "Reverse Query Search" 标签页
- 输入您现有的查询
- 选择平台并应用过滤器
- 查看匹配的 Playbook 和相关性得分
3. **浏览模板**
- 在 "Templates" 标签页中查看预构建的模板
- 按类别过滤(身份、恶意软件、钓鱼、网络)
- 查看 MITRE 技术和数据源
### API 使用
#### 从文本生成 Playbook
```
curl -X POST http://localhost:3000/api/playbook/generate/text \
-H "Content-Type: application/json" \
-d '{
"text": "Multiple failed logins from IP 192.168.1.100 followed by successful login for admin@company.com",
"platform": "splunk",
"options": {
"category": "identity",
"severity": "high"
}
}'
```
#### 从文件生成 Playbook
```
curl -X POST http://localhost:3000/api/playbook/generate/file \
-F "file=@security_log.json" \
-F "platform=chronicle" \
-F 'options={"category": "malware"}'
```
#### 反向查询搜索
```
curl -X POST http://localhost:3000/api/playbook/reverse-search \
-H "Content-Type: application/json" \
-d '{
"query": "| tstats count from datamodel=Authentication where Authentication.action=failure",
"platform": "splunk",
"filters": {
"category": "identity",
"severity": "high"
}
}'
```
## 🏗️ 架构
### 核心组件
1. **InputProcessor**:处理各种输入格式并提取安全实体
2. **MITREMapper**:将安全事件映射到 MITRE ATT&CK 技术
3. **FieldMappingEngine**:将规范化字段转换为特定平台的格式
4. **QueryGenerator**:创建特定平台的检测和响应查询
5. **PlaybookGenerator**:编排完整的 Playbook 生成过程
6. **ReverseQueryEngine**:支持基于查询模式的 Playbook 发现
7. **ApprovalGateEngine**:管理审批工作流和基于风险的关卡控制
8. **VersionControlEngine**:提供版本控制、分支和审计功能
### 数据流
```
Input → Processing → MITRE Mapping → Field Mapping → Query Generation → Playbook Assembly → Approval → Version Control
```
## 🔧 配置
### 字段映射
编辑 `src/config/field_mappings.json` 以自定义特定平台的字段映射。
### MITRE 技术
更新 `src/config/mitre_techniques.json` 以添加或修改 MITRE 技术定义。
### 审批关卡
在 `src/config/approval_config.json` 中配置审批要求:
- 风险评分阈值
- 特权账户模式
- 工作时间设置
- 审批人级别
## 📊 支持的平台
### Splunk (CIM)
- Authentication 数据模型
- Endpoint 数据模型(进程、文件系统)
- Network Traffic 数据模型
- Email 数据模型
- Web 数据模型
- Malware 数据模型
- Intrusion Detection 数据模型
### Google SecOps (Chronicle UDM)
- Principal 和 target 实体映射
- 网络事件处理
- 进程执行跟踪
- 文件活动监控
- 邮件事件处理
## 🎯 使用场景
### 身份安全
- 暴力破解攻击检测
- 密码喷洒攻击
- 不可能移动场景
- MFA 疲劳攻击
- 权限提升
### 恶意软件检测
- 已知恶意软件哈希检测
- 可疑 PowerShell 执行
- 基于文件的指标
- 进程注入检测
### 钓鱼防护
- 电子邮件附件分析
- 恶意 URL 检测
- 凭据收集
- 基于服务的钓鱼
### 网络安全
- 命令与控制 (C2) 检测
- 横向移动跟踪
- 数据泄露
- 异常流量模式
## 🔍 API 参考
### Playbook 生成
- `POST /api/playbook/generate/text` - 从文本输入生成
- `POST /api/playbook/generate/file` - 从文件上传生成
- `POST /api/playbook/validate` - 验证 Playbook Schema
- `POST /api/playbook/export` - 以各种格式导出 Playbook
### 反向搜索
- `POST /api/playbook/reverse-search` - 搜索匹配的 Playbook
### 版本控制
- `POST /api/playbook/:id/version` - 创建新版本
- `GET /api/playbook/:id/versions` - 获取版本历史
- `GET /api/playbook/:id/version/:versionId` - 获取特定版本
- `POST /api/playbook/:id/compare/:v1/:v2` - 比较版本
- `POST /api/playbook/:id/branch` - 创建分支
- `POST /api/playbook/:id/merge` - 合并分支
- `POST /api/playbook/:id/rollback` - 回滚到版本
### 审批关卡
- `POST /api/playbook/:id/approval/evaluate` - 评估审批要求
- `GET /api/approval/:id` - 获取审批请求
- `POST /api/approval/:id/approve` - 批准请求
- `POST /api/approval/:id/reject` - 拒绝请求
- `GET /api/approvals/pending` - 获取待处理的审批
### 参考数据
- `GET /api/mitre/techniques` - 获取 MITRE 技术
- `GET /api/field-mappings/:platform` - 获取字段映射
- `GET /api/templates/use-cases` - 获取用例模板
## 🧪 测试
### 运行测试
```
npm test
```
### 示例数据
`samples/` 目录中提供了示例安全日志和测试文件:
- `samples/brute_force_log.json` - 暴力破解攻击示例
- `samples/malware_detection.csv` - 恶意软件检测数据
- `samples/phishing_email.irp` - 钓鱼 IRP 格式
## 🔒 安全注意事项
### 输入验证
- 所有输入均经过验证和清理
- 文件上传仅限于批准的格式
- 速率限制可防止滥用
### 数据保护
- 不记录敏感数据
- 临时文件会自动清理
- 维护审计跟踪以确保合规
### 访问控制
- 可配置的审批工作流
- 基于角色的权限
- 工作时间强制执行
## 🚀 部署
### Docker 部署
```
# 构建 image
docker build -t soar-playbook-generator .
# 运行 container
docker run -p 3000:3000 soar-playbook-generator
```
### 环境变量
- `PORT` - 服务器端口(默认:3000)
- `NODE_ENV` - 环境模式(开发/生产)
- `UPLOAD_DIR` - 文件上传目录(默认:./uploads)
## 📈 监控
### 健康检查
```
curl http://localhost:3000/api/health
```
### 指标
应用程序提供以下内置指标:
- Playbook 生成成功率
- 审批处理时间
- 版本控制统计
- API 响应时间
## 🤝 贡献
1. Fork 本仓库
2. 创建一个功能分支
3. 进行更改
4. 为新功能添加测试
5. 提交 Pull Request
## 📄 许可证
本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
## 🆘 支持
如需支持和提问:
- 在仓库中创建 issue
- 查看 API 文档
- 检查示例配置
## 🔄 版本历史
### v1.0.0
- 初始发布
- 核心 Playbook 生成功能
- MITRE ATT&CK 集成
- Splunk 和 Chronicle 支持
- 版本控制和审批关卡
- Web 界面和 REST API
**用 ❤️ 为安全社区构建**
标签:AI安全, API优先, Chat Copilot, Chronicle UDM, Cloudflare, DLL 劫持, GNU通用公共许可证, Google SecOps, MITM代理, MITRE ATT&CK, Node.js, Playbook生成器, SOAR, Splunk CIM, 企业安全, 占用监测, 合规性报告, 大语言模型, 安全剧本, 安全可观测性, 安全运营, 审批工作流, 审计追踪, 扫描框架, 数据可视化, 模板库, 版本控制, 网络安全, 网络资产管理, 自动化响应, 自定义脚本, 自定义脚本, 请求拦截, 资产管理, 逆向查询, 隐私保护