alibabacloud-sas-alert-handler について
Alibaba Cloud Security Center(SAS/Aegis)のホストセキュリティアラートを照会・処理するスキルです。アラートを分析して対応方法を提案し、操作を実行して状態を確認します。
主な機能
- 01ホストセキュリティアラート一覧の照会
- 02アラート分析と対応方法の提案
- 03無視、ブロック、隔離などの実行
- 04操作状態の確認と結果の集約
活用シーン
- 01未処理のホストセキュリティアラートの確認
- 02アラート内容に応じた対応操作の選択
- 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.mdcli-installation-guide.mderror-handling.mdoperation-codes.mdram-policies.mdrelated-apis.mdverification-method.mdworkflow-details.md詳細
Cloud Security Center CWPP アラート対応スキル
シナリオの説明
このスキルは、Alibaba Cloud Security Center(SAS/Aegis)の CWPP ホストセキュリティアラートの照会と対応を支援します。
主な機能:
- セキュリティアラート一覧の照会
- アラートの詳細を分析し、対応方法を推奨
- アラートへの対応操作を実行(無視、ホワイトリスト登録、ブロック、隔離など)
- 対応状況を照会し、結果を要約
アーキテクチャ: Alibaba Cloud Security Center (SAS) + RAM Permissions + CLI Tools
インストール要件
事前確認: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 モードを有効化 — エージェントスキルの実行には AI モードが必要です。 CLI の呼び出し前に、次のコマンドを実行してください:
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler"
[MUST] すべての終了時点で AI モードを無効化 — どのような理由であっても、最終応答を返す前に、必ず最初に AI モードを無効化してください。これは、ワークフローの成功、ワークフローの失敗、エラー/例外、ユーザーによるキャンセル、セッションの終了、その他 CLI コマンドが以後実行されないあらゆる状況を含む、すべての終了経路に適用されます。 AI モードはエージェントスキルの呼び出し時にのみ使用し、スキルの実行終了後に有効な状態のままにしてはなりません。
aliyun configure ai-mode disable
認証設定
事前確認:Alibaba Cloud の認証情報が必要です
セキュリティルール:
- 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] 権限エラーへの対応: 権限エラーが発生した場合:
- 必要な権限について
references/ram-policies.mdを確認するram-permission-diagnoseスキルを使用してユーザーを案内する- ユーザーが権限付与を確認するまで待つ
コアワークフロー
ステップ 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
- 成功 → アラートが存在します。ステップ 5 に進みます
- 失敗(
SecurityEventNotExists)→ references/error-handling.md を参照してください
シナリオ 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 | 深刻度(重大/疑わしい/注意喚起) |
| EventStatus | 1=保留中、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:パラメーターを作成して実行する
クイックリファレンス - よく使う操作:
| OperationCode | OperationParams | 備考 |
|---|---|---|
| block_ip | {"expireTime":1773991205392} | expireTime = 現在時刻 + 期間(ms) |
| 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)の場合:
- ホワイトリストのルールと適用範囲について、ユーザーに確認する必要があります
- 既存の MarkField ルールを保持する必要があります
- 詳しい手順は references/workflow-details.md を参照してください
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
ポーリングのロジック:
TaskStatus=Processing→ 2 秒待機して再試行(最大 5 回)- 10 秒経過しても完了しない場合 → 失敗として記録します
TaskStatus=Success→ 対応成功TaskStatus=Failure→ ErrorCode を確認します
ステップ 7:ほかのアラートにも対応する
ほかのアラートがある場合は、ステップ 3~6 を繰り返します。1 バッチあたり最大 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 | IP をブロック | expireTime(必須) |
| 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 | 操作はサポートされていません。バージョンの制限です |
| タイムアウト(>10s) | 失敗として記録し、次に進みます |
| *.AgentOffline | クライアントがオフラインのため、対応できません |
| *.ProcessNotExist | virus_quara_bin の使用を提案します |
| NoPermission | 管理者に連絡して権限を付与してもらいます |
| SecurityEventNotExists | まず対応済みのアラートを検索します |
詳しいエラー処理の手順については、references/error-handling.md を参照してください。
ベストプラクティス
- 処理前にクエリ:まず
DescribeSecurityEventOperationsを呼び出します - バッチの上限:1 バッチあたり最大 20 件のアラートです
- 既存のルールを維持:高度なホワイトリストを使用する場合は、既存の MarkField ルールを統合します
- タイムアウトの処理:10 秒を超えるポーリングは失敗とみなします
- ユーザーの確認:処理の前に必ず意図を確認します
- ログ記録:監査のため、すべての操作を記録します
参考ドキュメント
| ドキュメント | 説明 |
|---|---|
| references/workflow-details.md | ワークフローの詳細、CLI の例、高度なホワイトリスト |
| references/operation-codes.md | operateCode の完全なリファレンス |
| references/error-handling.md | エラー処理の手順 |
| references/related-apis.md | API パラメーターの詳細 |
| references/ram-policies.md | RAM 権限ポリシー |
| references/verification-method.md | 検証方法 |
| references/cli-installation-guide.md | CLI のインストールガイド |