GMBAvA/soar-playbook-engine
GitHub: GMBAvA/soar-playbook-engine
一个基于 Python 的轻量级 SOAR 引擎,通过解析 YAML 剧本并配合条件决策逻辑,实现安全事件响应流程的自动化编排与执行。
Stars: 0 | Forks: 0

# SOAR Playbook Engine 🛡️
一个基于 Python 的轻量级 SOAR(安全编排、自动化与响应)引擎
用于执行 YAML 定义的剧本以实现自动化的事件响应。
本项目作为个人网络安全项目构建,旨在展示 SOC 自动化技能、
Python 开发和软件质量实践。
由 Claude Sonnet 4.6 Thinking 提供支持 🤔
## 功能特性
- **YAML 剧本解析器** — 加载并验证结构化剧本
- **条件决策引擎** — 按步骤评估动态条件
- **工作流执行器** — 逐步运行剧本并支持跳过逻辑
- **结构化 JSON 日志** — 输出可被 Splunk 和 SIEM 读取的内容
- **CLI 接口** — 直接从终端运行任何剧本
- **12 个单元测试** — 使用 pytest 实现全面覆盖
## 项目结构
soar-playbook-engine/
├── engine/
│ ├── parser.py # YAML 剧本加载器
│ ├── decision_tree.py # 条件评估器
│ ├── executor.py # 工作流执行引擎
│ └── logger.py # 结构化 JSON 日志记录器
├── playbooks/
│ ├── phishing.yaml
│ ├── malware.yaml
│ ├── ransomware.yaml
│ ├── threat_intel.yaml
│ └── ioc_blocking.yaml
├── tests/
│ ├── test_parser.py
│ ├── test_decision_tree.py
│ └── test_executor.py
└── main.py
## 开始使用
**1. 克隆仓库**
```
git clone https://github.com/GMBAvA/soar-playbook-engine
cd soar-playbook-engine
```
**2. 创建虚拟环境**
```
python -m venv .venv
.venv\Scripts\activate
```
**3. 安装依赖**
```
pip install -r requirements.txt
```
## 使用方法
使用上下文运行任何剧本:
```
python main.py --playbook playbooks/phishing.yaml --ioc-score 75 --ioc-found True
```
输出示例:
── Execution Report ──────────────────────
✅ step_1 | extract_ioc | executed
✅ step_2 | enrich_ioc | executed
✅ step_3 | block_sender | executed
✅ step_4 | notify_soc | executed
──────────────────────────────────────────
text
## 可用剧本
| 剧本 | 触发条件 | 步骤 |
|---|---|---|
| phishing.yaml | phishing_detected | 提取 IOC → 丰富信息 → 封禁 → 通知 |
| malware.yaml | malware_detected | 哈希 → VirusTotal → 隔离 → 通知 |
| ransomware.yaml | ransomware_detected | 隔离 → 快照 → 升级为 P1 → 通知 |
| threat_intel.yaml | ioc_submitted | 规范化 → 丰富信息 → 更新 SIEM → 报告 |
| ioc_blocking.yaml | ioc_confirmed_malicious | 检查重复项 → 防火墙 → 记录日志 → 通知 |
## 运行测试
```
pytest tests/ -v
```
预期结果:**12 passed**
## 技术栈
- Python 3.13.12
- PyYAML
- pytest
- JSON 结构化日志(兼容 Splunk)
## 作者
Alexandre Berthoumieu — 网络安全专业学生
[LinkedIn](https://www.linkedin.com/in/aberthoumieu/)
标签:AI辅助开发, DAST, Homebrew安装, IOC封堵, IP 地址批量处理, JSON日志, Pytest, Python, SIEM集成, SOAR, SOC自动化, YAML解析, 剧本引擎, 勒索软件处置, 威胁情报, 安全规则引擎, 工作流执行, 库, 应急响应, 开发者工具, 开源安全工具, 恶意代码分类, 恶意软件分析, 搜索语句(dork), 无后门, 条件决策树, 结构化日志, 网络安全, 逆向工具, 逆向工程平台, 钓鱼邮件分析, 隐私保护