heraclescap/shuffle-soc-automation

GitHub: heraclescap/shuffle-soc-automation

基于 Shuffle SOAR 编排 Wazuh、Cortex、OpenCTI 和 DFIR-IRIS 的 SOC 自动化工作流集合,实现从 SIEM 告警接入、IOC 提取、多源威胁情报富化到事件工单创建的完整端到端自动化流水线。

Stars: 1 | Forks: 0

# SOC 自动化 — Shuffle SOAR 工作流 基于开源技术栈构建的端到端安全运营中心自动化。 本仓库包含生产级 Shuffle SOAR 工作流,可实现完整的告警生命周期自动化:从 SIEM 接入、威胁情报富化到事件工单创建。 所有工作流均以匿名化形式导出,不包含任何 API 密钥、令牌或内部基础设施详细信息。 ## 技术栈 | 角色 | 工具 | |------|------| | SOAR | [Shuffle](https://shuffler.io/) | | SIEM / XDR | [Wazuh](https://wazuh.com/) | | SIRP | [DFIR-IRIS](https://dfir-iris.org/) | | 威胁情报 | [OpenCTI](https://www.opencti.io/) + [Cortex](https://thehive-project.org/) | ## 架构概述 该流水线遵循模块化的事件驱动架构。协调器通过 webhook 接收 Wazuh 告警,并将处理任务委派给专门的子工作流,每个子工作流负责单一职责。 有关详细的技术分析,请参阅 [docs/architecture.md](docs/architecture.md)。 ## 工作流 ### 1. SIEM 到工单 — 协调器 **文件:** `workflows/SIEM_to_ticket.json` 这是驱动整个告警处理流水线的核心工作流。它由 Wazuh webhook 触发,并通过 Shuffle 的子工作流机制协调所有下游子工作流。 它接收原始的 Wazuh 告警 JSON,调用 Parse and Normalize 提取 IOC,将富化任务并行分发给 Cortex 和 OpenCTI,将两个分支的结果合并为一个统一的结体,然后将所有内容传递给 Create IRIS Ticket 子工作流。三个合并操作(Merge_Alert_Data、Merge_Observables、Merge_Enrichments)在向下游转发之前整合并行分支的数据。 ![SIEM 到工单工作流](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/52ddf0e76e040653.png) ### 2. 解析和规范化 Observables **文件:** `workflows/Parse_and_Normalize_Observables.json` 一个专注的两步工作流,将原始的 Wazuh 告警数据转换为所有下游工作流均可使用的结构化、标准化格式。 **Extract_Observables** 使用 Shuffle 内置的 IOC 解析器识别并从告警 payload 中提取 observables:IP 地址、文件哈希(MD5、SHA1、SHA256)、URL 和域名。 **Normalize_Observables** 是一个自定义 Python 操作,它将提取的 IOC 重组为类型化的 schema,每种类型包含一个值列表。这种规范化是接入层与所有富化工作流之间的契约,添加新的 observable 类型只需更新这一步骤。 ![解析和规范化工作流](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f35c3fde9a040654.png) ### 3. Cortex Observables 富化 **文件:** `workflows/Cortex_Observables_Enrichment.json` 流水线中技术密度最高的工作流,包含 13 个操作,根据 observable 类型并行查询多个外部威胁情报源。每次 API 调用都会根据提取的内容路由到相应的分析器。 - **VirusTotal** — 针对哈希、IP、URL 和域名的四个独立操作。返回检测率、扫描结果和社区信誉评分。 - **AbuseIPDB** — IP 信誉检查。返回滥用置信度评分、ISP 信息和报告历史。 - **MalwareBazaar** — 针对 Abuse.ch 恶意软件样本数据库的哈希查询。返回恶意软件家族、标签以及首次/最后一次发现日期。 - **URLScan.io** — URL 和域名扫描。提交 observables 进行分析,并获取判定结果和 DOM 数据。 **Sleep** 操作处理异步分析器在提交和获取报告之间的 API 速率限制。**Merge_Job_IDs** 整合所有并行的 API 响应。**Normalize_Reports** 通过自定义 Python 操作将异构的 API 响应标准化为统一的富化报告格式。 ![Cortex 富化工作流](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/9eb8b089e2040655.png) ### 4. OpenCTI Observables 富化 **文件:** `workflows/OpenCTI_Observables_Enrichment.json` 查询内部 OpenCTI 威胁情报平台,将 observables 与已知的失陷指标进行关联。与依赖外部 API 的 Cortex 工作流不同,此工作流利用组织自己精心策划的威胁情报,提供外部来源无法提供的归因、活动关联和置信度级别。 针对 OpenCTI API 并行执行四个 GraphQL 查询,每种 observable 类型一个:**Run_IP_Search**、**Run_Hash_Search**、**Run_URL_Search**、**Run_Domain_Search**。每个查询都使用带有 filterGroups 的 OpenCTI 过滤系统,按名称执行精确的指标查找。**Merge_Searches** 整合所有四个结果,**Normalize_Searches** 将相关指标元数据(标签、置信度、标记定义、创建日期)提取为标准化格式。 ![OpenCTI 富化工作流](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/da5b340a41040656.png) ### 5. 创建 IRIS 工单 **文件:** `workflows/Create_IRIS_ticket.json` 流水线的最后一步。获取完全富化的告警,并在 DFIR-IRIS 中创建结构化的事件告警供分析师分类。 **Formate_IRIS_Alert** 是一个自定义 Python 操作,它将富化后的告警映射到 DFIR-IRIS API 所需的确切 JSON schema。这包括 Wazuh 告警字段(规则 ID、描述、代理名称和 IP、MITRE ATT&CK 参考)和富化摘要(VirusTotal 检测率、AbuseIPDB 置信度评分、OpenCTI 指标匹配)。 **Create_Alert** 调用 DFIR-IRIS API 创建工单。当分析师在 IRIS 中打开它时,他们已经在一个地方拥有了原始告警、所有提取的 observables 和所有富化上下文,无需手动查找。 ![创建 IRIS 工单工作流](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/9b0a158655040658.png) ## 如何导入 1. 打开您的 Shuffle 实例 2. 导航到 **Workflows**,然后点击 **Import** 3. 上传 `workflows/` 目录中的任意 `.json` 文件 4. 在每个应用的认证设置中配置您的 API 凭证 5. 更新协调器的子工作流引用,使其指向您导入的工作流 ID 所有工作流均以匿名化形式导出。您需要为每个集成配置自己的 API 密钥、实例 URL 和身份验证令牌。 ## 设计决策 **模块化子工作流架构** — 每个工作流只负责一项职责。各个组件可独立重用、测试和替换,而不会影响流水线的其余部分。 **双重富化策略** — Observables 同时从外部 API(Cortex 工作流)和内部 TIP(OpenCTI 工作流)进行富化。外部来源提供广泛的覆盖范围和信誉数据。内部来源提供组织背景和威胁行为者归因。 **规范化层** — Parse and Normalize 工作流将 SIEM 告警格式与下游处理解耦。更改 SIEM 或添加新数据源只需更新规范化步骤。 **并行执行与合并** — 富化工作流并行运行。在创建工单之前合并结果,以最大程度地减少延迟,同时确保 IRIS 工单包含完整的富化信息。 ## 许可证 MIT 许可证 — 详见 [LICENSE](LICENSE)。
标签:Cortex, DFIR-IRIS, OpenCTI, Shuffle SOAR, SOAR编排, SOC自动化, SOC自动化工作流, Wazuh, 事件响应平台, 事件生命周期, 参数枚举, 告警分诊, 威胁情报, 威胁情报富化, 安全事件响应, 安全架构, 安全运营中心, 工单管理, 库, 应急响应, 开发者工具, 端点安全, 网络安全, 网络映射, 补丁管理, 逆向工具, 隐私保护