mcpField
S
soar

soar

github.com/alphaonedev安全46 次安装
代码仓库

关于 soar

soar 是面向蓝队安全运营的事件响应技能,可编排多步骤工作流并连接外部工具,以自动化告警处理、事件丰富和补救操作。

主要功能

  1. 01通过 YAML 编排多步骤剧本
  2. 02连接 SIEM、防火墙和威胁情报工具
  3. 03自动丰富事件数据
  4. 04按条件触发响应操作
  5. 05以 JSON 汇总执行结果

适用场景

  1. 01自动阻断可疑登录来源 IP
  2. 02查询高危事件并补充威胁情报
  3. 03按告警条件执行遏制流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill soar

安装后在 Claude Code 中输入/soar确认已加载。

详细介绍

soar

用途

此技能通过编排工作流、集成工具并执行蓝队运营操作,实现安全事件响应自动化。它可处理告警、信息补充和修复等任务,从而简化事件处理流程。

适用场景

在安全事件发生期间,可使用此技能快速响应,例如检测日志中的异常、升级威胁或自动执行遏制措施。它尤其适用于告警量大、人工干预效率低的环境。

主要功能

  • 编排剧本:使用 YAML 配置文件定义并运行多步骤工作流,例如隔离受感染主机的剧本。
  • 集成工具:通过 API 连接 SIEM、防火墙和威胁情报服务,并支持 REST 和 WebSockets 等协议。
  • 事件信息补充:使用预定义连接器,自动从 VirusTotal 或内部数据库等来源获取数据。
  • 自动化规则:根据条件设置触发器,例如告警符合某个特征时执行响应。
  • 报告:通过 JSON 输出生成已执行操作及其结果的摘要。

使用模式

使用此技能前,先通过 $SOAR_API_KEY 等环境变量配置身份验证。然后,从文件或 API 加载剧本,并根据事件触发剧本。例如,集成监控工具,在告警出现时调用 SOAR 端点。投入生产环境前,务必在暂存环境中测试剧本。常见模式:轮询事件、评估条件,并依次运行操作。

常用命令/API

使用 CLI 执行快速任务,或使用 API 进行编程访问。请求中需要通过 $SOAR_API_KEY 进行身份验证。

  • CLI 命令:运行剧本
    soar run --playbook-id 123 --params '{"ip": "192.168.1.1"}'
    此命令使用自定义参数执行 ID 为 123 的剧本;输出为包含状态和结果的 JSON。

  • API 端点:触发剧本
    POST https://api.openclaw.com/soar/playbooks/{id}/run
    Headers:Authorization: Bearer $SOAR_API_KEY
    Body:{"params": {"action": "isolate", "target": "host-01"}}
    Response:返回 200 OK,以及类似 {"status": "success", "details": {...}} 的 JSON。

  • CLI 命令:查询事件
    soar list-incidents --filter "status=active" --limit 10
    按状态筛选事件;使用 --output json 获取结构化数据。

  • API 端点:获取事件
    GET https://api.openclaw.com/soar/incidents?status=active&limit=10
    Headers:Authorization: Bearer $SOAR_API_KEY
    Response:JSON 格式的事件对象数组。

配置格式:剧本使用 YAML 定义,例如:

name: Isolate Host
steps:
  - action: block-ip
    params:
      ip: "{{params.ip}}"

代码片段请控制在 4 行以内;如需更多内容,请参阅完整文档。

集成说明

通过设置 Webhook 或调用 API 来集成 SOAR。例如,导出 $SOAR_API_KEY 并在脚本中使用:

export SOAR_API_KEY=your_api_key_here
curl -X POST https://api.openclaw.com/soar/webhooks -H "Authorization: Bearer $SOAR_API_KEY" -d '{"event": "alert", "data": {...}}'

常见集成方式:通过 HTTP 端点连接 Splunk 等 SIEM 工具,或连接数据库以补充信息。确保所有连接都启用了 TLS。对于自定义连接器,请提供 JSON 配置文件,例如 {"type": "rest", "endpoint": "https://example.com/api"}。

错误处理

通过检查 HTTP 状态码或 CLI 退出码来处理错误。常见错误包括:401 Unauthorized(检查并修正 $SOAR_API_KEY)、404 Not Found(检查剧本 ID)以及无效 YAML(使用 soar validate --file playbook.yaml 验证)。在代码中,使用 try-catch 块包装 API 调用:

import requests
try:
    response = requests.post('https://api.openclaw.com/soar/playbooks/123/run', headers={'Authorization': f'Bearer {os.environ["SOAR_API_KEY"]}'})
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e.response.status_code} - {e.response.text}")

记录带时间戳的错误,并对暂时性故障最多重试 3 次。

具体使用示例

  1. 自动处理可疑登录事件:
    首先,设置 $SOAR_API_KEY。然后运行:
    soar run --playbook-id 456 --params '{"user": "admin", "ip": "10.0.0.1"}'
    这会触发剧本以屏蔽该 IP,并通过电子邮件通知团队。请监控输出以确认是否成功。

  2. 补充告警信息并升级告警:
    使用 API 查询并采取操作:

    curl -H "Authorization: Bearer $SOAR_API_KEY" https://api.openclaw.com/soar/incidents?severity=high
    # Parse response, then POST to run enrichment: curl -X POST https://api.openclaw.com/soar/playbooks/789/run -d '{"params": {"incident_id": "12345"}}'
    

这会获取高严重性事件并补充其信息,例如与威胁情报源进行比对。

图关系

  • 相关:蓝队集群(例如,用于输入数据的“威胁检测”技能,以及用于后续操作的“事件响应”技能)。
  • 依赖:用于 API 密钥的身份验证服务。
  • 集成:通过 API 与外部工具集成,例如通过 SIEM 系统触发事件。

评论

支持 Markdown