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, 企业安全, 占用监测, 合规性报告, 大语言模型, 安全剧本, 安全可观测性, 安全运营, 审批工作流, 审计追踪, 扫描框架, 数据可视化, 模板库, 版本控制, 网络安全, 网络资产管理, 自动化响应, 自定义脚本, 自定义脚本, 请求拦截, 资产管理, 逆向查询, 隐私保护