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

詳細

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] 権限エラーへの対応: 権限エラーが発生した場合:

  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
  • 成功 → アラートが存在します。ステップ 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深刻度(重大/疑わしい/注意喚起)
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:パラメーターを作成して実行する

クイックリファレンス - よく使う操作:

OperationCodeOperationParams備考
block_ip{"expireTime":1773991205392}expireTime = 現在時刻 + 期間(ms)
kill_and_quara{"subOperation":"killAndQuaraFileByMd5andPath"}
virus_quara{"subOperation":"quaraFileByMd5andPath"}
quara{}
ignore{}
manual_handled{}
advance_mark_mis_info{} + MarkMissParamworkflow-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

ポーリングのロジック:

  1. TaskStatus=Processing → 2 秒待機して再試行(最大 5 回)
  2. 10 秒経過しても完了しない場合 → 失敗として記録します
  3. TaskStatus=Success → 対応成功
  4. 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_ipIP をブロック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クライアントがオフラインのため、対応できません
*.ProcessNotExistvirus_quara_bin の使用を提案します
NoPermission管理者に連絡して権限を付与してもらいます
SecurityEventNotExistsまず対応済みのアラートを検索します

詳しいエラー処理の手順については、references/error-handling.md を参照してください。


ベストプラクティス

  1. 処理前にクエリ:まず DescribeSecurityEventOperations を呼び出します
  2. バッチの上限:1 バッチあたり最大 20 件のアラートです
  3. 既存のルールを維持:高度なホワイトリストを使用する場合は、既存の MarkField ルールを統合します
  4. タイムアウトの処理:10 秒を超えるポーリングは失敗とみなします
  5. ユーザーの確認:処理の前に必ず意図を確認します
  6. ログ記録:監査のため、すべての操作を記録します

参考ドキュメント

ドキュメント説明
references/workflow-details.mdワークフローの詳細、CLI の例、高度なホワイトリスト
references/operation-codes.mdoperateCode の完全なリファレンス
references/error-handling.mdエラー処理の手順
references/related-apis.mdAPI パラメーターの詳細
references/ram-policies.mdRAM 権限ポリシー
references/verification-method.md検証方法
references/cli-installation-guide.mdCLI のインストールガイド

コメント