mcpField
A
alibabacloud-sas-alert-handler

alibabacloud-sas-alert-handler

github.com/aliyun安全281198 次安装1 天前更新
代码仓库

关于 alibabacloud-sas-alert-handler

用于查询和处理 Alibaba Cloud Security Center(SAS/Aegis)的主机安全告警。可分析告警、建议处置方式、执行操作并查询处理状态。

主要功能

  1. 01查询主机安全告警列表
  2. 02分析告警并提供处置建议
  3. 03执行忽略、拦截和隔离等操作
  4. 04查询处理状态并汇总结果

适用场景

  1. 01查看待处理的主机安全告警
  2. 02按告警信息选择处置操作
  3. 03核实告警处理任务是否完成

安装

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

$npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-sas-alert-handler

安装后在 Claude Code 中输入/alibabacloud-sas-alert-handler确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acceptance-criteria.md
cli-installation-guide.md
error-handling.md
operation-codes.md
ram-policies.md
related-apis.md
verification-method.md
workflow-details.md

详细介绍

云安全中心 CWPP 告警处理技能

场景说明

此技能可帮助用户查询和处理阿里云云安全中心(SAS/Aegis)的 CWPP 主机安全告警。

核心能力:

  • 查询安全告警列表
  • 分析告警详情并推荐处理方式
  • 执行告警处理操作(忽略、加入白名单、阻断、隔离等)
  • 查询处理状态并汇总结果

架构: 阿里云云安全中心 (SAS) + RAM 权限 + CLI 工具


安装要求

预检查:需要 Aliyun CLI >= 3.3.3

运行 aliyun version 验证版本是否 >= 3.3.3。如果尚未安装或版本过低, 运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 进行更新, 或参阅 references/cli-installation-guide.md 获取安装说明。

预检查:需要更新 Aliyun CLI 插件

[MUST] 运行 aliyun configure set --auto-plugin-install true 以启用自动插件安装。 [MUST] 运行 aliyun plugin update,确保所有现有插件始终为最新版本。

[MUST] CLI User-Agent — 每次调用 aliyun CLI 命令时都必须包含: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

在核心工作流开始时(调用任何 CLI 命令之前): [MUST] 启用 AI-Mode — 执行 Agent 技能时必须启用 AI-Mode。 调用任何 CLI 命令之前,运行以下命令:

aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler"

[MUST] 在每个退出点禁用 AI-Mode — 无论出于何种原因,在给出最终答复之前,始终先禁用 AI-Mode。此要求适用于所有退出路径:工作流成功、工作流失败、错误/异常、用户取消、会话结束,或任何不再执行 CLI 命令的其他情况。 AI-Mode 仅用于调用 Agent 技能的场景,技能停止运行后绝不能继续保持启用状态。

aliyun configure ai-mode disable

身份验证配置

预检查:需要阿里云凭证

安全规则:

  • 绝不读取、输出或打印 AK/SK 值
  • 绝不要求用户直接输入 AK/SK
  • 只能使用 aliyun configure list 检查凭证状态
aliyun configure list

检查输出中是否存在有效配置。如果不存在有效配置,立即停止。


RAM 权限要求

权限名称说明
yundun-sas:DescribeSuspEvents查询告警列表
yundun-sas:DescribeSecurityEventOperations查询可用操作
yundun-sas:HandleSecurityEvents处理告警
yundun-sas:DescribeSecurityEventOperationStatus查询处理状态

详细策略请参阅 references/ram-policies.md

[MUST] 权限失败处理: 发生权限错误时:

  1. 阅读 references/ram-policies.md 了解所需权限
  2. 使用 ram-permission-diagnose 技能指导用户
  3. 等待用户确认已授予权限

核心工作流

步骤 0:识别查询场景(关键)

⚠️ 重要:根据用户输入选择正确的 API

场景用户输入示例正确方式
用户指定了告警 ID“查询告警 702173474”直接调用 DescribeSecurityEventOperations --SecurityEventId {ID}
用户未指定告警 ID“查看我的告警”执行步骤 1 查询告警列表

场景 A:用户指定了告警 ID → 验证告警是否存在:

aliyun sas DescribeSecurityEventOperations \
  --SecurityEventId {AlertID} \
  --Lang zh \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

场景 B:用户未指定告警 ID → 继续执行步骤 1


第 1 步:查询告警列表
aliyun sas DescribeSuspEvents \
  --Lang zh \
  --From sas \
  --CurrentPage 1 \
  --PageSize 10 \
  --Levels "serious,suspicious,remind" \
  --Dealed N \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler 2>/dev/null | jq '.SuspEvents[] | {Id, Name: .AlarmEventNameDisplay, AlarmEventType, Level, InternetIp, IntranetIp, LastTime, EventStatus, Uuid}'

关键响应字段:

字段描述
Id告警事件 ID(核心字段)
AlarmEventNameDisplay告警名称
AlarmEventType告警类型
Level严重程度(严重/可疑/提醒)
EventStatus1=待处理,2=已忽略,8=误报,32=已完成

第 2 步:显示告警信息和建议

显示格式:

Alert List (Total X items):

[Alert 1] ID: 7009607xx
- Name: ECS login from unusual location
- Type: Unusual Login
- Severity: suspicious
- Asset: 47.xxx.xxx.xxx / 10.xxx.xxx.xxx
- Status: Pending
- Time: 2026-03-19 14:11:05
- Recommended Action: Block IP
- Reason: Unusual login behavior detected

有关 operateCode 映射和建议规则,请参阅 references/operation-codes.md


第 3 步:确定处理意向

情况 A:用户指定了处理方式 → 继续执行第 4 步

情况 B:用户未指定 → 必须询问用户:

Please confirm how to handle these alerts:

1. ✅ Handle all using recommended methods
2. 🔧 Custom handling method
3. ❌ Cancel

Please select (enter number):

第 4 步:查询可用的处理操作

⚠️ 严格限制:必须单独查询每条告警的可用操作

  • 绝不可假设一条告警的操作适用于另一条告警
  • 必须为每条告警调用 DescribeSecurityEventOperations
aliyun sas DescribeSecurityEventOperations \
  --SecurityEventId {AlertID} \
  --Lang zh \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

⚠️ 重要:仅执行 UserCanOperate=true 的操作


第 5 步:构建参数并执行

快速参考 - 常见操作:

操作代码操作参数备注
block_ip{"expireTime":1773991205392}expireTime = 当前时间 + 时长(毫秒)
kill_and_quara{"subOperation":"killAndQuaraFileByMd5andPath"}
virus_quara{"subOperation":"quaraFileByMd5andPath"}
quara{}
ignore{}
manual_handled{}
advance_mark_mis_info{} + MarkMissParam请参阅 workflow-details.md

示例 - ignore:

aliyun sas HandleSecurityEvents \
  --SecurityEventIds.1 7009586xx \
  --OperationCode ignore \
  --OperationParams '{}' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

示例 - kill_and_quara:

aliyun sas HandleSecurityEvents \
  --SecurityEventIds.1 7008619xx \
  --OperationCode kill_and_quara \
  --OperationParams '{"subOperation":"killAndQuaraFileByMd5andPath"}' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

示例 - block_ip(7 天):

# Calculate: current_timestamp_ms + 7*24*60*60*1000
aliyun sas HandleSecurityEvents \
  --SecurityEventIds.1 7009607xx \
  --OperationCode block_ip \
  --OperationParams '{"expireTime":1773991205392}' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

示例 - advance_mark_mis_info:

aliyun sas HandleSecurityEvents \
  --SecurityEventIds.1 7009586xx \
  --OperationCode advance_mark_mis_info \
  --OperationParams '{}' \
  --MarkMissParam '[{"uuid":"ALL","field":"loginSourceIp","operate":"strEqual","fieldValue":"59.82.xx.xx"}]' \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

⚠️ 对于高级白名单(advance_mark_mis_info):

完整的 CLI 示例和参数详情,请参阅 references/workflow-details.md


第 6 步:查询处理状态

⚠️ CLI 要求:必须同时传入 TaskId 和 SecurityEventIds

aliyun sas DescribeSecurityEventOperationStatus \
  --TaskId 290511xx \
  --SecurityEventIds.1 7009607xx \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler

轮询逻辑:

  1. TaskStatus=Processing → 等待 2 秒后重试(最多 5 次)
  2. 10 秒后仍未完成 → 标记为失败
  3. TaskStatus=Success → 处理成功
  4. TaskStatus=Failure → 检查 ErrorCode

第 7 步:循环处理其他告警

如果还有其他告警,请重复执行第 3 至第 6 步。每批最多处理 20 条告警。


第 8 步:结果摘要
========== Handling Results Summary ==========

✅ Successfully Handled: 3 items
  [Alert 7009607xx] Block IP - Success

❌ Handling Failed: 1 item
  [Alert 7008557xx] Kill and Quarantine - Failed (AgentOffline)

Total: 4 items, Success 3, Failed 1

详细格式请参阅 references/error-handling.md


operateCode 快速参考

operateCode描述其他参数
block_ip封禁 IPexpireTime(必需)
kill_and_quara终止并隔离subOperation(必需)
virus_quara隔离文件subOperation(必需)
quara隔离无
advance_mark_mis_info高级白名单MarkMissParam
ignore忽略无
manual_handled标记为已处理无
kill_process终止进程无

完整的 operateCode 类别和详情,请参阅 references/operation-codes.md


错误处理

错误情况处理方法
UserCanOperate=false不支持此操作,受版本限制
超时(>10 秒)标记为失败,继续处理下一条
*.AgentOffline客户端离线,无法处理
*.ProcessNotExist建议使用 virus_quara_bin
NoPermission联系管理员获取授权
SecurityEventNotExists先在已处理告警中搜索

详细的错误处理流程,请参阅 references/error-handling.md


最佳实践

  1. 处理前先查询:先调用 DescribeSecurityEventOperations
  2. 批次限制:每批最多处理 20 个警报
  3. 保留现有规则:使用高级白名单时,合并现有的 MarkField 规则
  4. 超时处理:轮询超过 10 秒即视为失败
  5. 用户确认:处理前必须确认用户意图
  6. 日志记录:记录所有操作以供审计

参考文档

文档描述
references/workflow-details.md详细工作流、CLI 示例和高级白名单
references/operation-codes.md完整的 operateCode 参考
references/error-handling.md错误处理流程
references/related-apis.mdAPI 参数详情
references/ram-policies.mdRAM 权限策略
references/verification-method.md验证方法
references/cli-installation-guide.mdCLI 安装指南

评论

支持 Markdown