Aditya-Sec/SOAR-Playbook-Matrix

GitHub: Aditya-Sec/SOAR-Playbook-Matrix

一个基于 OASIS CACAO 标准的可运行 SOAR playbook 执行引擎,附带 AI 剧本生成器和对 18 个主流 SOAR 平台的客观调研映射。

Stars: 0 | Forks: 0

SOAR Playbook Matrix

![Python](https://img.shields.io/badge/Python-0d1012?style=flat-square&logo=python&logoColor=4dd4e8&labelColor=0d1012) ![Flask](https://img.shields.io/badge/Flask-0d1012?style=flat-square&logo=flask&logoColor=4dd4e8&labelColor=0d1012) ![CACAO](https://img.shields.io/badge/OASIS%20CACAO-0d1012?style=flat-square&logoColor=4dd4e8&labelColor=0d1012) ![Claude](https://img.shields.io/badge/Claude%20API-0d1012?style=flat-square&logoColor=4dd4e8&labelColor=0d1012) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE%20ATT%26CK-0d1012?style=flat-square&logoColor=4dd4e8&labelColor=0d1012) ![License](https://img.shields.io/badge/License-MIT-0d1012?style=flat-square&labelColor=0d1012&color=4dd4e8)

## 这个项目实际上是什么 这是一个真正可用的 **CACAO** 执行引擎——OASIS 行业标准,用于机器可读的安全 playbook(SOAR 之于安全编排,就像 Sigma 之于威胁检测)——搭配了一个 AI 生成器,可以将纯英文的应急响应描述转化为真实且经过验证的 CACAO playbook,以及对市场上 18 个主要 SOAR 平台的客观调研映射。 这是 [SIEM-Tool-Matrix](https://github.com/Aditya-Sec/SIEM-Tool-Matrix) 的 SOAR 对应项目——相同的理念,同样诚实地界定“可执行”与“可调研”的范围,只是将其应用于编排和响应而非检测。
## 01 — CACAO 执行引擎(真正的核心) 大多数“SOAR 作品集项目”只是展示一张图表。而本项目是真正可运行的。 - **`cacao/schema.py`** — 根据真实的 OASIS CACAO v2.0 结构(开始/结束/操作/if 条件/并行步骤)验证 playbook。我们做了一个明确的简化并在此声明:完整规范要求步骤 ID 严格遵循 `type--` 格式;为了在直接阅读 playbook JSON 时更具可读性,本项目改用了如 `action--3-quarantine` 这样易读的 ID——如果要投入生产环境,只需修改一行代码即可完全符合 UUID 规范。 - **`engine/executor.py`** — 端到端遍历已验证的工作流,处理条件分支和并行步骤扩散,并返回完整的逐步执行追踪。 - **`engine/conditions.py`** — 一个刻意 **不** 使用 `eval()` 的条件评估器。尽管目前的条件都是由本项目编写的,但养成“绝不将任意字符串作为代码执行”的习惯,多写这 40 行代码是完全值得的。 - **`engine/commands.py`** — 每一个响应操作(隔离主机、禁用账户、隔离文件……)在设计上都采用试运行(dry-run)模式,只记录它*将要做*什么——这与该个人主页下所有其他代码库一样,坚守对破坏性操作的边界。 - 项目内置了 **3 个真实的 CACAO playbook**:钓鱼响应、受损账户响应和恶意软件主机隔离——每一个都通过了 schema 验证,映射了 ATT&CK,并且其条件逻辑的两个分支都经过了测试。 运行方式:**Live Executor** 标签页 → 选择一个 playbook → **Run** → 观察引擎执行的真实分支路径,逐个节点地呈现动画效果,而非预先录制的演示序列。
## 02 — AI playbook 生成器 用纯英文描述一个应急响应流程。LLM(默认使用 Claude,支持 OpenAI,mock 模式甚至根本不需要 API key)会生成一个真实的 CACAO playbook——在展示或运行之前,它会经过两个层面的验证: 1. **结构验证** — 它是否符合 CACAO schema? 2. **语义验证** — 它引用的每一个操作是否真正存在于本项目的命令注册表中?大模型自信地编造一个听起来合理、但根本不存在的操作名称,是 LLM 自动化生成中一个真实的失败模式,而本项目将其捕获了,而不是盲目信任。`tests/test_full_platform.py` 包含一个测试,故意向生成器输入一个幻觉产生的命令名,并验证其被成功拒绝。 这反映了 2026 年关于“利用 LLM 将遗留 playbook 转换为 CACAO 格式”的学术研究中所采用的真实方法——而不是为了凑作品集而凭空猜测的用例。
## 03 — 18 个 SOAR 平台的客观映射 企业级(Cortex XSOAR、Splunk SOAR、Sentinel Automation、IBM SOAR、Google SecOps SOAR、Swimlane、Tines、D3 Security、FortiSOAR、Rapid7 InsightConnect、Torq、BlinkOps、Siemplify)和开源级(Shuffle、StackStorm、TheHive+Cortex、SaltStack、Node-RED)——包括创作风格、原生 playbook 格式、授权许可,以及各自的特点,均调研自公开的 2026 年文档。 在面试中值得了解的一个修正:**Siemplify 作为独立产品已不复存在** —— Google 收购了它,并将其完全并入了 Google Security Operations SOAR。这里依然显式地将两者列出以作说明,因为外界往往仍将它们视作两个独立的平台。 截至 2026 年,**没有任何一款商业 SOAR 平台原生支持 CACAO** —— 这正是为什么本项目要构建自己的执行引擎,而不是依赖某个供应商平台来验证这一概念。
## 04 — 原生格式示例 同一个钓鱼响应 playbook,展示了它在三个具有截然不同创作理念的平台中的呈现方式:Cortex XSOAR 和 Microsoft Sentinel(低代码可视化),以及 Tines(代码优先、可通过 Git 进行版本控制的 JSON)。这些示例具有说明性质,且来源于公开文档——并未在实际租户环境中进行过测试,本意也并非声称已经过测试。
## 运行说明 ``` git clone https://github.com/Aditya-Sec/SOAR-Playbook-Matrix.git cd SOAR-Playbook-Matrix pip install -r requirements.txt cp .env.example .env python app.py # 打开 http://127.0.0.1:5000 ``` 在 mock 模式下开箱即用——尝试生成器或执行器无需任何 API key。在 `.env` 中设置 `LLM_PROVIDER=anthropic`(或 `openai`)即可启用真正的 AI 生成。 ``` python tests/test_full_platform.py ``` 包含 20 项检查:schema 验证、钓鱼 playbook 条件逻辑的两个分支、并行步骤执行、AI 生成(包括对幻觉命令的拒绝测试)、矩阵数据完整性,以及每一个路由。
## 客观说明其实际证明了什么,以及没证明什么 **证明了:** 你在结构上理解了基于 playbook 的安全自动化实际上是如何运作的——分支、并行执行,以及整个行业正在缓慢趋同采用的供应商中立标准——并且你能够构建并验证一个具备真实失败模式处理能力的 AI 生成 pipeline,而不仅仅是一个只跑“理想路径”的演示。 **没证明:** 具备配置上述 18 个商业平台中任何一个的生产环境经验。这一区别在此处的声明方式,与该个人主页下所有其他代码库中的声明方式完全一致——因为一个在单个后续追问下就不攻自破的声明,比根本不作声明造成的损害更大。
## 许可证 MIT — 查看 [LICENSE](LICENSE)。
标签:AI自动化, Flask, Petitpotam, Python, SOAR, 安全剧本, 安全运营, 扫描框架, 无后门, 逆向工具