BL3IP/soar-shuffle-playbook

GitHub: BL3IP/soar-shuffle-playbook

基于 Shuffle SOAR 平台的开源安全自动化编排项目,提供可疑 IP 自动富化、评分与遏制处置的 playbook。

Stars: 0 | Forks: 0

# 19 — SOAR 自动化 (Shuffle) — 自动富化与遏制 一个通过 Docker 部署的 **Shuffle** SOAR 平台,外加一个 **自动富化 → 决策 → 遏制** 的 playbook,它可以富化可疑 IP 并采取遏制行动 —— 这是 SOC 自动化的核心。 ## 目标 搭建一个开源的 SOAR,并构建一个告警响应 playbook,它可以自动富化指标并决定是否对其进行遏制 —— 从而消除手动分类的繁琐工作。 ## 包含内容 | 路径 | 内容描述 | |------|-----------| | [`playbook/auto_enrich_contain.py`](./playbook/auto_enrich_contain.py) | playbook 逻辑(富化 + 评分 + 遏制) | | [`playbook/test_auto_enrich_contain.py`](./playbook/test_auto_enrich_contain.py) | pytest 测试套件(确定性) | | [`docs/workflow-design.md`](./docs/workflow-design.md) | Shuffle 工作流设计 + 导入步骤 | | [`artifacts/shuffle-deployment.txt`](./artifacts/shuffle-deployment.txt) | 证据:所有 Shuffle 容器均已运行 | | [`artifacts/playbook-run-example.json`](./artifacts/playbook-run-example.json) | 一次真实的 CONTAIN 运行 | ## 精确设置命令 ``` # 1) 部署 Shuffle (SOAR) git clone https://github.com/Shuffle/Shuffle.git wsl -d docker-desktop sysctl -w vm.max_map_count=262144 # for OpenSearch cd Shuffle ; docker compose up -d # UI at https://localhost:3443 # 2) 运行 playbook 逻辑(并进行测试) cd C:\Users\banlv\cyber\19-soar-automation & "C:\Users\banlv\AppData\Local\Programs\Python\Python312\python.exe" -m venv .venv .\.venv\Scripts\python.exe -m pip install pytest .\.venv\Scripts\python.exe -m pytest playbook\ -q .\.venv\Scripts\python.exe playbook\auto_enrich_contain.py 45.33.32.156 ``` ## 运行验证 **Shuffle 已部署** — 所有 4 个容器均处于 Up 状态,UI 在 `:3001`/`:3443` 上返回 **HTTP 200** ([证明](./artifacts/shuffle-deployment.txt)): ``` shuffle-frontend Up 0.0.0.0:3001->80, 0.0.0.0:3443->443 shuffle-backend Up 0.0.0.0:5001->5001 shuffle-opensearch Up 0.0.0.0:9200->9200 shuffle-orborus Up ``` **Playbook — 5/5 测试通过**,并且实时运行会根据真实的富化数据做出实际决策: ``` 45.33.32.156 -> CONTAIN (score 3; 120 known CVEs) -> block_ip + notify SOC 185.220.100.240 -> INVESTIGATE (score 2; tag 'tor') -> create_ticket 8.8.8.8 / 1.1.1.1 -> MONITOR (clean) -> no action ``` ## 截图 参见 [`./screenshots/`](./screenshots)。添加:Shuffle UI (https://localhost:3443) 以及一次 playbook 运行截图。 ## 我的自定义扩展 - 一个**可移植的、经过单元测试**的 playbook(富化/评分/遏制),以便在接入 Shuffle 的 UI 应用之前,可以离线开发和验证决策逻辑。 - 真实的、无需密钥的富化(Shodan InternetDB)驱动实时的 CONTAIN/INVESTIGATE/MONITOR 判定。 - 完整的部署运行手册,包括针对 Docker Desktop/WSL2 的 OpenSearch `vm.max_map_count` 修复方案。 ## 简历要点 - 部署了 **Shuffle** 开源 SOAR(Docker,包含 OpenSearch 的 4 服务技术栈),并进行了端到端的平台验证。 - 构建并单元测试了一个**自动富化与遏制** playbook,它对实时 IP 富化数据进行评分并触发拦截/通知/工单操作(5/5 测试通过;在一个包含 120 个 CVE 的主机上进行了实时 CONTAIN 操作)。 - 记录了等效的 Shuffle 工作流(webhook → HTTP 富化 → 条件判断 → 遏制)。 ## 进阶想法 - 在 Shuffle 中原生构建工作流,并通过 SIEM(项目 01)的 webhook 进行触发。 - 添加真实的遏制应用(防火墙/EDR API),并为破坏性操作增加审批步骤。 - 将威胁情报简报(项目 09)作为每日的富化数据源。 状态: ✅ 完成并已测试 ``` ✅ PROJECT COMPLETE & FULLY TESTED in its isolated folder. All works. Ready for portfolio. ```
标签:Docker, FTP漏洞扫描, Python, SOAR, 威胁情报, 安全编排, 安全规则引擎, 安全运营, 安全防御评估, 开发者工具, 扫描框架, 无后门, 自动化响应, 请求拦截, 逆向工具