ugurrates/playbookforge
GitHub: ugurrates/playbookforge
基于 CACAO v2.0 标准的通用 SOAR 剧本转换器,实现六大主流安全编排平台之间的剧本一次编写、随处部署。
Stars: 1 | Forks: 0
PlaybookForge
使用 CACAO v2.0 编写一次剧本 —— 导出至任意 SOAR 平台。
## 什么是 PlaybookForge? PlaybookForge 是一个**通用 SOAR 剧本转换器**,它利用 [CACAO v2.0](https://docs.oasis-open.org/cacao/security-playbooks/v2.0/security-playbooks-v2.0.html) 标准(OASIS,2023 年 11 月)作为中间表示,在受支持的 SOAR 平台之间转换安全自动化剧本。 **问题所在:** 使用多个 SOAR 平台的安全团队必须为每个平台手动重写剧本。为 Cortex XSOAR 编写的网络钓鱼调查剧本无法在 Microsoft Sentinel 或 FortiSOAR 上运行,需要完全重构。 **解决方案:** PlaybookForge 将任何供应商剧本转换为厂商中立的 CACAO v2.0 格式,然后自动将其导出到任何目标平台。一次编写,随处部署。 ### 为什么选择 PlaybookForge? | 功能 | CyberGuard | CACAO Roaster | **PlaybookForge** | |---------|------------|---------------|-------------------| | 供应商 → CACAO 导入 | 仅 LLM (3 家供应商) | 否 | 确定性 + AI (6 个平台) | | CACAO → 供应商导出 | 否 | 否 | **是** | | 供应商 → 供应商直接转换 | 否 | 否 | **是** | | 可视化流程设计器 | 否 | 基础 | React Flow | | AI 助手 | 学术性 | 否 | 实用性 (Ollama + Cloud) | | 内置剧本库 | 否 | 否 | **1100+ 剧本** | | 现代 Web UI | 否 | 是 | 战术主题风格 | ## 支持的平台 | 平台 | 导入 | 导出 | 格式 | |----------|--------|--------|--------| | **Palo Alto Cortex XSOAR** | 是 | 是 | YAML | | **Microsoft Sentinel** | 是 | 是 | ARM Template JSON | | **Fortinet FortiSOAR** | 是 | 是 | Workflow JSON | | **Shuffle SOAR** | 是 | 是 | JSON | | **Splunk SOAR** | 是 | 是 | Python | | **Google SecOps SOAR** | 是 | 是 | JSON | ## 功能特性 ### 剧本转换引擎 - 所有 6 个 SOAR 平台之间通过 CACAO v2.0 中间格式进行**双向转换** - 源平台格式的**自动检测**(上传任意文件,PlaybookForge 会识别它) - 一键**批量导出**至所有平台 - 包含 25+ 条规则的**验证引擎**,检查 CACAO v2.0 合规性 ### 可视化剧本设计器 - 基于 React Flow 构建的**拖放式**工作流编辑器 - **节点类型**:action(操作)、condition(条件)、parallel(并行)、playbook-action(剧本操作)、start/end(开始/结束) - 构建时的 CACAO JSON **实时预览** - **导入/导出**:加载现有的 CACAO 剧本进行可视化编辑 ### AI 剧本生成器 - **自然语言 → CACAO**:描述一个场景,获取一个完整的剧本 - **多提供商支持**:Ollama(本地)、OpenAI、Anthropic - **产品感知**:选择您的安全技术栈,AI 生成特定于平台的命令 - 识别 **26 种安全产品**,涵盖 EDR、SIEM、SOAR、工单系统等 ### 社区剧本库 - 从社区仓库自动拉取 **1100+ 剧本** - 按平台浏览,按关键字搜索 - 一键将任何社区剧本转换到您的目标平台 ### 蓝队集成 - **Blue-Team-News** — 实时网络安全威胁订阅源 - **Blue-Team-Assistant** — AI 驱动的安全指导 - **MCP-for-OIC** — Oracle Integration Cloud 连接器 ### 运营仪表板 - 实时平台分布图表 - 带有动态雷达图的系统健康监控 - 转换活动追踪 - 集成状态概览 ## 快速入门 ### 前置条件 - **Python 3.10+** - **Node.js 18+** - **pip** 和 **npm** ### 快速开始 ``` # Clone the repository git clone https://github.com/ugurcanates/playbookforge.git cd playbookforge # Backend 设置 pip install -r playbookforge/requirements.txt cd playbookforge uvicorn backend.main:app --reload --host 127.0.0.1 --port 8000 # Frontend 设置 (新 terminal) cd playbookforge/frontend npm install npm run dev ``` 打开 [http://localhost:3000](http://localhost:3000) 访问 Web UI,或访问 [http://localhost:8000/docs](http://localhost:8000/docs) 查看交互式 API 文档。 ### Docker ``` cd playbookforge docker compose up backend frontend # With AI support (Ollama) docker compose --profile ai up ``` | 服务 | 端口 | 描述 | |---------|------|-------------| | `backend` | 8000 | FastAPI REST API | | `frontend` | 3000 | Next.js web UI | | `ollama` | 11434 | 本地 LLM(可选) | ## 架构 ``` ┌──────────────────────┐ │ Next.js Frontend │ │ (Port 3000) │ └──────────┬───────────┘ │ REST API ┌──────────▼───────────┐ │ FastAPI Backend │ │ (Port 8000) │ ├──────────────────────┤ │ │ ┌────▼────┐ ┌─────▼─────┐ │Importers│ │ Exporters │ │ Vendor→ │ │ →Vendor │ │ CACAO │ │ formats │ └────┬────┘ └─────┬─────┘ │ │ ▼ ▼ ┌──────────────────────────────┐ │ CACAO v2.0 (OASIS) │ │ Intermediate Representation │ └──────────────────────────────┘ ``` ### 技术栈 | 层级 | 技术 | |-------|-----------| | Frontend | Next.js 14, React 18, TypeScript, Tailwind CSS | | Flow Designer | @xyflow/react (React Flow) | | Backend | Python 3.10+, FastAPI, Pydantic v2 | | Standard | CACAO v2.0 (OASIS, November 2023) | | AI | Ollama (local), OpenAI, Anthropic | | Deployment | Docker Compose | ## API 参考 后端暴露了一个 RESTful API。服务器运行时,可在 `/docs` (Swagger UI) 查看完整的交互式文档。 ### 核心 Endpoints | 方法 | Endpoint | 描述 | |--------|----------|-------------| | `POST` | `/validate` | 验证 CACAO 剧本(25+ 条规则) | | `POST` | `/convert/{platform_id}` | 将 CACAO 转换为特定供应商格式 | | `POST` | `/convert/all` | 一次性将 CACAO 转换至所有平台 | | `POST` | `/import` | 导入供应商剧本 → CACAO | | `GET` | `/platforms` | 列出所有支持的平台 | | `GET` | `/products` | 列出已识别的安全产品 | | `GET` | `/health` | API 健康检查 | ### AI Endpoints | 方法 | Endpoint | 描述 | |--------|----------|-------------| | `POST` | `/ai/generate` | 自然语言 → CACAO 剧本 | | `POST` | `/ai/enrich` | 丰富/改进现有剧本 | | `POST` | `/ai/analyze` | 带建议的质量分析 | ### 库 Endpoints | 方法 | Endpoint | 描述 | |--------|----------|-------------| | `GET` | `/library/stats` | 剧本库统计 | | `GET` | `/library/search` | 搜索社区剧本 | | `POST` | `/library/pull` | 从社区仓库拉取 | ## 项目结构 ``` playbookforge/ ├── backend/ │ ├── main.py # FastAPI application entry point │ ├── core/ │ │ ├── cacao_model.py # CACAO v2.0 Pydantic models │ │ ├── validator.py # 25+ validation rules engine │ │ └── builder.py # Fluent playbook builder API │ ├── exporters/ │ │ ├── base.py # BaseExporter ABC │ │ ├── xsoar_exporter.py # → Cortex XSOAR (YAML) │ │ ├── shuffle_exporter.py # → Shuffle SOAR (JSON) │ │ ├── sentinel_exporter.py # → Microsoft Sentinel (ARM) │ │ ├── fortisoar_exporter.py # → FortiSOAR (JSON) │ │ ├── splunk_soar_exporter.py # → Splunk SOAR (Python) │ │ └── google_secops_exporter.py # → Google SecOps (JSON) │ ├── importers/ # Vendor → CACAO parsers │ ├── llm/ # AI/LLM integration layer │ └── tests/ # pytest test suite ├── frontend/ │ ├── src/app/ # Next.js 14 App Router pages │ ├── src/components/ # React components │ └── src/lib/ # API client & types ├── docker-compose.yml └── requirements.txt ``` ## 路线图 ### v1.1 — 快速见效 - [ ] **批量转换** — 在单个操作中转换多个剧本 - [ ] **剧本对比** — 两个剧本的并排比较 - [ ] **剧本模板** — 针对常见场景(网络钓鱼响应、恶意软件遏制、事件分类)的预构建模板 - [ ] **PDF/DOCX 导出** — 生成剧本文档以用于合规和报告 ### v1.2 — 智能与测试 - [ ] **MITRE ATT&CK 映射** — 自动将剧本步骤映射到 ATT&CK 技术和战术 - [ ] **剧本模拟器** — 部署前试运行剧本,带有逐步追踪 - [ ] **验证引擎 v2** — 更深度的 CACAO v2.0 合规性检查及自动修复建议 - [ ] **高级分析** — 转换统计、错误趋势、平台覆盖率报告 ### v1.3 — AI 与自动化 - [ ] **AI 剧本优化器** — 使用 LLM 分析并改进现有剧本 - [ ] **Webhook 集成** — 用于剧本转换的事件驱动自动化触发器 - [ ] **插件系统** — 用于第三方扩展的模块化架构 - [ ] **CI/CD Pipeline 集成** — 用于自动化剧本部署的 GitHub Actions / GitLab CI 工作流 ### v2.0 — 企业级 - [ ] **实时协作** — 多用户并发剧本编辑与冲突解决 - [ ] **社区市场** — 发布、发现和评价社区剧本 - [ ] **基于角色的访问控制 (RBAC)** — 具有细粒度权限的团队管理 - [ ] **审计日志** — 完整的操作历史,支持合规导出 - [ ] **多租户 SaaS** — 具有组织隔离的云端托管版本 ### 开发设置 ``` # Backend (with auto-reload) cd playbookforge uvicorn backend.main:app --reload --port 8000 # Frontend (with hot-reload) cd playbookforge/frontend npm run dev # 运行 tests cd playbookforge pytest -v ``` ## 许可证 本项目基于 **Apache License 2.0** 授权 —— 详情请参阅 [LICENSE](LICENSE) 文件。 ## 作者 **Ugur Ates** — [playbookforge.io](https://playbookforge.io)基于 CACAO v2.0 (OASIS Standard) 构建 | 由 FastAPI + Next.js 驱动
标签:AV绕过, CACAO v2.0, Cortex XSOAR, FastAPI, FortiSOAR, Microsoft Sentinel, OASIS标准, PlaybookForge, Python, SOAR, 中间表示, 剧本转换器, 剧本迁移, 安全互操作性, 安全工作流, 安全编排与自动化响应, 开源安全工具, 无后门, 编排器, 请求拦截, 跨平台兼容, 逆向工具, 逆向工程平台