mcpField
I
incident-response

incident-response

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

关于 incident-response

incident-response 是供 OpenClaw 在 DevOps 环境中管理安全事件全流程的技能,适用于 SRE 和运维团队。它涵盖事件检测、分析、遏制与恢复,并提供 CLI、API 及监控集成示例。

主要功能

  1. 01检测日志和指标中的威胁
  2. 02关联事件并分析影响
  3. 03隔离受影响资源
  4. 04执行回滚或备份恢复
  5. 05连接 Prometheus 等监控工具

适用场景

  1. 01排查 Kubernetes 异常流量
  2. 02遏制 staging 环境中的网络事件
  3. 03分析应用漏洞并回滚恢复
  4. 04在 CI/CD 流水线中检测事件

安装

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

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

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

详细介绍

用途

此技能使 OpenClaw 能够在 DevOps 环境中管理完整的事件响应生命周期,包括使用自动化工具和集成来检测、分析、遏制和恢复安全事件。

使用时机

当监控系统在 DevOps 流水线中检测到异常(例如,Kubernetes 集群中的流量异常)、发生正在进行的安全漏洞(例如,未经授权的访问)或执行定期演练时,请使用此技能。在 SRE 工作流中应用它,以最大限度减少停机时间,例如与 CI/CD 工具集成以接收实时警报。

主要功能

  • 检测:通过 API 端点 /api/incident/detect 扫描日志和指标,使用类似 {"source": "k8s-logs", "threshold": 0.8} 的 JSON 负载,根据预定义规则识别威胁。
  • 分析:使用 CLI 标志 --analyze-depth 2 解析事件数据并关联事件,例如将 IP 地址关联到用户会话。
  • 遏制:隔离受影响的资源,例如使用命令 openclaw incident contain --resource pod-123 --action pause 暂停 Kubernetes 中的 pod。
  • 恢复:自动回滚或从备份恢复,例如通过向 /api/incident/recover 发起 API 调用并传入负载 {"backup_id": "snapshot-456"}。
  • 支持与 Prometheus 等工具集成以进行监控,并融入 SRE 事件跟踪最佳实践。

使用模式

要使用此技能,请先设置用于身份验证的环境变量:export OPENCLAW_API_KEY=your_api_key。然后,按以下模式操作:

  1. 身份验证并初始化:运行 openclaw auth --key $OPENCLAW_API_KEY 以设置会话。
  2. 检测事件:执行 openclaw incident detect --env prod --type network 以扫描问题。
  3. 分析结果:将输出传递给分析命令,例如 openclaw incident analyze --id 123 --format json。
  4. 按需遏制:使用 openclaw incident contain --id 123 --scope cluster 进行隔离。
  5. 恢复:调用 openclaw incident recover --id 123 --backup latest 以恢复。 对于自动化工作流,可将其嵌入脚本中:编写一段 Bash 代码,例如:
export OPENCLAW_API_KEY=your_key
openclaw incident detect --env staging
if [ $? -ne 0 ]; then openclaw incident contain --id $(echo $output | jq .id); fi

始终验证输入以避免误报,例如,检查 JSON 配置是否包含 "threshold" 等必填字段。

常用命令/API

  • CLI 命令:
    • 检测:openclaw incident detect --env dev --type app-vuln --threshold 0.7(标志:--env 用于指定环境,--type 用于指定事件类型,--threshold 用于指定灵敏度)。
    • 分析:openclaw incident analyze --id 456 --depth 1(标志:--depth 用于指定递归层级,输出包含 "affected_resources" 等字段的 JSON)。
    • 遏制:openclaw incident contain --id 789 --action isolate --resource k8s-pod(标志:--action 用于指定 isolate 或 block 等操作)。
    • 恢复:openclaw incident recover --id 789 --method rollback(标志:--method 用于指定 rollback 或 restore 等策略)。
  • API 端点(均需在 Authorization 标头中提供 $OPENCLAW_API_KEY):
    • POST /api/incident/detect:请求正文 { "env": "prod", "type": "network" },用于触发检测。
    • GET /api/incident/analyze/{id}:查询参数 depth=2,用于执行详细分析。
    • PUT /api/incident/contain/{id}:请求正文 { "action": "isolate", "resource": "pod-123" }。
    • POST /api/incident/recover/{id}:请求正文 { "method": "rollback", "backup_id": "snapshot-abc" }。 配置格式:输入请使用 JSON 文件,例如在通过 --config path/to/config.json 传入的文件中使用 {"env": "staging", "types": ["app-vuln", "network"]}。

集成说明

通过将数据导出到 ELK Stack 或 Prometheus 等监控系统,与 DevOps 工具集成。对于 Kubernetes,请使用 Webhook:配置 OpenClaw,通过 openclaw incident hook --url https://your-k8s-webhook.com --event detect 发送告警。在 CI/CD 中,可在 Jenkins 流水线中添加如下步骤:

stage('Incident Check') {
    sh 'openclaw incident detect --env prod > incident.log'
    if (readFile('incident.log').contains('alert')) { error 'Incident detected' }
}

对于 SRE,可通过设置环境变量与 PagerDuty 等工具集成:export PAGERSERVICE_KEY=your_key,并使用 openclaw incident notify --service pagerduty。确保配置符合相应格式,例如,Hook 使用 YAML:hooks: - url: https://pagerduty.com events: [detect, analyze]。

错误处理

检查 CLI 退出码:0 表示成功,1 表示检测错误(例如,标志无效),2 表示 API 调用失败。对于 API,请解析 HTTP 响应:400 表示请求错误(例如,JSON 中缺少字段),401 表示身份验证问题(请验证 $OPENCLAW_API_KEY)。在脚本中按如下方式处理:

response=$(openclaw incident detect --env invalid)
if [ $? -eq 1 ]; then echo "Error: Invalid environment"; exit 1; fi

使用 --verbose 标志记录错误以便调试,并在代码中通过循环重试暂时性错误(例如,网络问题)。继续操作前,务必验证 JSON 响应中是否包含 "error_code" 等字段。

具体使用示例

  1. 检测并遏制预发布环境中的网络事件:在 DevOps 流水线中,检测预发布环境的异常:运行 openclaw incident detect --env staging --type network。如果返回了事件 ID(例如,123),则使用 openclaw incident contain --id 123 --action isolate 遏制事件。这可以防止事件在部署测试期间扩散。

  2. 分析并恢复应用程序漏洞:对于检测到的应用漏洞,先分析日志:使用 openclaw incident analyze --id 456 --depth 1 获取详情,然后使用 openclaw incident recover --id 456 --method rollback --backup latest 进行恢复。这可以在生产环境的 SRE 场景中从快照恢复应用。

图关系

  • 关联到:devops-sre 集群(例如,关联用于日志摄取的监控技能,以及用于自动回滚的部署技能)。
  • 标记为:incident-response(与安全技能共享边)、security(关联到访问控制技能)、devops(与 CI/CD 技能集成)。

评论

支持 Markdown