seyifalode-cmd/soar-playbooks

GitHub: seyifalode-cmd/soar-playbooks

为 SOC 团队提供一套供应商中立的安全自动化响应 playbook 模板,覆盖钓鱼、可疑登录、恶意软件和云配置错误场景,内置威胁情报富集脚本和强制人工审核决策点。

Stars: 0 | Forks: 0

# soar-playbooks ## 什么是 SOAR? **SOAR 平台** 是构建在您的 SIEM 和安全工具之上的一层,允许 SOC 团队将其响应流程编纂为自动化工作流。分析师无需在压力下手动检查 VirusTotal、查询身份提供者、创建工单并发送通知,SOAR playbook 会自动执行这些机械化的步骤,并向分析师呈现预先丰富(enriched)的摘要以及需要做出的明确决策。 试想一下这样一位外科医生:他必须在动刀之前亲自准备手术室、消毒工具并查找患者的病历;而另一位外科医生走进来时,发现一切均已准备就绪,从而可以完全将精力集中在只有人类才能做出的判断上。这两者之间的差异便是 SOAR 的价值所在。 本仓库中提及的 SOAR 平台包括: - **Cortex XSOAR** (Palo Alto Networks) — 企业级、基于 Python 的自动化 - **Splunk SOAR** (前身为 Phantom) — 具有可视化画布的事件驱动型 playbook 本仓库中的 playbook 均以供应商中立的格式编写——其逻辑、决策点和富集(enrichment)步骤同样适用于上述任一平台(以及其他诸如 Microsoft Sentinel Automation、Google Chronicle SOAR 或自定义编排框架)。 ## 为什么“人在回路”至关重要 自动化提升了 SOC 团队的响应速度。但是,**缺乏判断的速度会带来风险**。 本仓库中的每一个 playbook,在执行任何以下操作之前,都包含一个强制性的**人在回路(HITL)决策点**: - **破坏性操作** — 删除数据、阻止访问、隔离主机 - **不可逆操作** — 撤销会话、隔离成千上万用户的邮箱 - **影响业务的操作** — 使服务器下线、更改云资源权限 HITL 闸门并**不**意味着响应缓慢。这些 playbook 中的每个闸门均经过精心设计,以确保: 1. 分析师收到的是经过全面富集和预先汇总的案例 — 而非原始日志数据 2. 决策过程是二元的(批准 / 拒绝 / 修改范围) 3. 超时机制会自动升级上报,而不会导致工作流停滞 ## Playbook 索引 | # | Playbook | 触发条件 | MITRE ATT&CK | 严重程度 | |---|----------|---------|--------------|----------| | 01 | [钓鱼邮件响应](playbooks/01_phishing_email_response.md) | 来自邮件安全平台的高可信度钓鱼告警 | [T1566](https://attack.mitre.org/techniques/T1566/) · [T1566.001](https://attack.mitre.org/techniques/T1566/001/) · [T1566.002](https://attack.mitre.org/techniques/T1566/002/) | HIGH | | 02 | [可疑登录响应](playbooks/02_suspicious_login_response.md) | 来自 IdP 的不可能旅行或异常登录告警 | [T1078](https://attack.mitre.org/techniques/T1078/) · [T1078.004](https://attack.mitre.org/techniques/T1078/004/) | HIGH | | 03 | [恶意软件 / 端点响应](playbooks/03_malware_endpoint_response.md) | EDR HIGH/CRITICAL 级别检测 — 恶意软件、勒索软件、C2、凭据转储 | [T1059](https://attack.mitre.org/techniques/T1059/) · [T1486](https://attack.mitre.org/techniques/T1486/) · [T1490](https://attack.mitre.org/techniques/T1490/) | CRITICAL | | 04 | [云错误配置响应](playbooks/04_cloud_misconfiguration_response.md) | CSPM 发现 — 公开存储桶、宽松的 IAM、开放的安全组 | [T1530](https://attack.mitre.org/techniques/T1530/) · [T1078.004](https://attack.mitre.org/techniques/T1078/004/) | HIGH–CRITICAL | ## 富集脚本 在自动化富集阶段,playbook 会调用 `enrichment/` 目录下的三个 Python 脚本。每个脚本均包含详细的注释,能够优雅地处理错误,并从环境变量中读取凭据 — **不存在任何硬编码的机密信息**。 | 脚本 | 用途 | 用于 | |--------|---------|---------| | [`virustotal_lookup.py`](enrichment/virustotal_lookup.py) | 查询 VirusTotal v3 API 以获取 hash、IP 或 URL 的信誉 | PB 01, 02, 03 | | [`ip_geo_enrich.py`](enrichment/ip_geo_enrich.py) | 对 IP 进行地理定位,检测 VPN/Tor/数据中心,计算不可能旅行 | PB 02, 03, 04 | | [`misp_lookup.py`](enrichment/misp_lookup.py) | 查询 MISP 威胁情报实例以获取任意类型的 IOC | PB 01, 02, 03 | ### 所需的环境变量 ``` # VirusTotal export VT_API_KEY="your_virustotal_api_key" # MISP export MISP_URL="https://misp.yourdomain.com" export MISP_API_KEY="your_misp_automation_key" # 可选 — ip_geo_enrich.py export HIGH_RISK_COUNTRIES="KP,IR,BY,CU,SY" # ISO country codes export IMPOSSIBLE_TRAVEL_SPEED_KPH="900" # Default: 900 km/h ``` ### 独立运行脚本 ``` # 安装唯一的依赖 pip install requests # 直接运行任意脚本以进行测试 python enrichment/virustotal_lookup.py python enrichment/ip_geo_enrich.py python enrichment/misp_lookup.py ``` ## 流程图 / 图表 `diagrams/` 目录中包含每个 playbook 对应的 Mermaid 流程图。这些图表可以在 GitHub 上原生渲染,也可以导入到 Confluence、Notion 或任何支持 Mermaid 的文档平台中。 | 图表 | Playbook | |---------|---------| | [01_phishing_email_response.md](diagrams/01_phishing_email_response.md) | 钓鱼邮件响应 | | [02_suspicious_login_response.md](diagrams/02_suspicious_login_response.md) | 可疑登录响应 | | [03_malware_endpoint_response.md](diagrams/03_malware_endpoint_response.md) | 恶意软件 / 端点响应 | | [04_cloud_misconfiguration_response.md](diagrams/04_cloud_misconfiguration_response.md) | 云错误配置响应 | ## 仓库结构 ``` soar-playbooks/ ├── playbooks/ # Markdown playbooks — one per use case │ ├── 01_phishing_email_response.md │ ├── 02_suspicious_login_response.md │ ├── 03_malware_endpoint_response.md │ └── 04_cloud_misconfiguration_response.md ├── diagrams/ # Mermaid flowcharts for each playbook │ ├── 01_phishing_email_response.md │ ├── 02_suspicious_login_response.md │ ├── 03_malware_endpoint_response.md │ └── 04_cloud_misconfiguration_response.md ├── enrichment/ # Python enrichment scripts │ ├── virustotal_lookup.py │ ├── ip_geo_enrich.py │ └── misp_lookup.py ├── docs/ # Supporting documentation └── README.md ``` ## 如何映射到 SOAR 平台 ### Cortex XSOAR - 每个 playbook 映射到在可视化画布中构建的 **XSOAR Playbook** - 富集脚本映射到 **Integration commands** 或 **Automation scripts** - HITL 闸门映射到 **Manual Task** 或 **Ask** 步骤,通过 PagerDuty/Slack 提醒分析师 - 工单映射到包含完整 War Room 日志的 **Incident** 对象 ### Splunk SOAR - 每个 playbook 映射到可视化编辑器中的 **Playbook** - 富集脚本映射到集成资产上的 **App Actions** - HITL 闸门映射到 **Prompt** 块,该块会暂停执行并发送 Teams/邮件通知 - 证据收集在附加到案例的 **Vault** 中 ## 作者 **Oluwaseyi Michael Falode** 检测工程师 | 云与网络安全 - Email: [seyi.falode@yahoo.com](mailto:seyi.falode@yahoo.com) - LinkedIn: [linkedin.com/in/oluwaseyi-falode](https://linkedin.com/in/oluwaseyi-falode) - GitHub: [github.com/seyifalode-cmd](https://github.com/seyifalode-cmd) *这些 Playbook 仅供教育和作品展示目的而编写。在生产环境部署之前,请根据您所在组织的特定风险承受能力和 SLA 要求,调整富集阈值、超时时间和上报路径。*
标签:Python, SOAR, 安全运营, 安全运营中心, 扫描框架, 无后门, 网络映射, 自动化剧本, 逆向工具, 防御加固