Alibaba Cloud Security Center (SAS) CWPP host security alert handling skill. Used for querying, analyzing, and handling security alerts from Cloud Security Center. Triggers: "security alert", "alert handling", "CWPP alert", "Cloud Security Center alert", "SAS alert", "Aegis alert", "view alerts", "handle alerts"
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill alibabacloud-sas-alert-handler --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Alibabacloud Sas Alert Handler?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-alibabacloud-sas-alert-handler)More formats (shields.io, HTML) on the badges page.
---
name: alibabacloud-sas-alert-handler
description: |
Alibaba Cloud Security Center (SAS) CWPP host security alert handling skill. Used for querying, analyzing, and handling security alerts from Cloud Security Center.
Triggers: "security alert", "alert handling", "CWPP alert", "Cloud Security Center alert", "SAS alert", "Aegis alert", "view alerts", "handle alerts"
---
# Cloud Security Center CWPP Alert Handling Skill
## Scenario Description
This skill helps users query and handle CWPP host security alerts from Alibaba Cloud Security Center (SAS/Aegis).
**Core Capabilities:**
- Query security alert list
- Analyze alert details and recommend handling methods
- Execute alert handling operations (ignore, whitelist, block, quarantine, etc.)
- Query handling status and summarize results
**Architecture:** `Alibaba Cloud Security Center (SAS) + RAM Permissions + CLI Tools`
---
## Installation Requirements
**Pre-check: Aliyun CLI >= 3.3.3 required**
> Run `aliyun version` to verify >= 3.3.3. If not installed or version too low,
> run `curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash` to update,
> or see `references/cli-installation-guide.md` for installation instructions.
**Pre-check: Aliyun CLI plugin update required**
> [MUST] run `aliyun configure set --auto-plugin-install true` to enable automatic plugin installation.
> [MUST] run `aliyun plugin update` to ensure that any existing plugins are always up-to-date.
**[MUST] CLI User-Agent** — Every `aliyun` CLI command invocation must include:
`--user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler`
At the **start** of the Core Workflow (before any CLI invocation):
**[MUST] Enable AI-Mode** — AI-mode is required for Agent Skill execution.
Run the following commands before any CLI invocation:
```bash
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler"
```
**[MUST] Disable AI-Mode at EVERY exit point** — Before delivering the final response for ANY reason, always disable AI-mode first. This applies to ALL exit paths: workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed.
AI-mode is only used for Agent Skill invocation scenarios and MUST NOT remain enabled after the skill stops running.
```bash
aliyun configure ai-mode disable
```
---
## Authentication Configuration
> **Pre-check: Alibaba Cloud Credentials Required**
>
> **Security Rules:**
> - **NEVER** read, output, or print AK/SK values
> - **NEVER** ask users to input AK/SK directly
> - **ONLY** use `aliyun configure list` to check credential status
>
> ```bash
> aliyun configure list
> ```
> Check the output for a valid profile. **If no valid profile exists, STOP here.**
---
## RAM Permission Requirements
| Permission Name | Description |
|-----------------|-------------|
| `yundun-sas:DescribeSuspEvents` | Query alert list |
| `yundun-sas:DescribeSecurityEventOperations` | Query available operations |
| `yundun-sas:HandleSecurityEvents` | Handle alerts |
| `yundun-sas:DescribeSecurityEventOperationStatus` | Query handling status |
For detailed policies, see [references/ram-policies.md](references/ram-policies.md)
> **[MUST] Permission Failure Handling:** When permission errors occur:
> 1. Read `references/ram-policies.md` for required permissions
> 2. Use `ram-permission-diagnose` skill to guide user
> 3. Wait until user confirms permissions granted
---
## Core Workflow
### Step 0: Identify Query Scenario (Critical)
> **⚠️ IMPORTANT: Choose the correct API based on user input**
| Scenario | User Input Example | Correct Approach |
|----------|-------------------|------------------|
| **User specified alert ID** | "Query alert 702173474" | **Directly call** `DescribeSecurityEventOperations --SecurityEventId {ID}` |
| **User did not specify alert ID** | "View my alerts" | Execute Step 1 to query alert list |
**Scenario A: User specified alert ID** → Verify alert exists:
```bash
aliyun sas DescribeSecurityEventOperations \
--SecurityEventId {AlertID} \
--Lang zh \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler
```
- **Success** → Alert exists, proceed to Step 5
- **Failure** (`SecurityEventNotExists`) → See [references/error-handling.md](references/error-handling.md)
**Scenario B: User did not specify alert ID** → Proceed to Step 1
---
### Step 1: Query Alert List
```bash
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}'
```
**Key Response Fields:**
| Field | Description |
|-------|-------------|
| Id | Alert event ID (core field) |
| AlarmEventNameDisplay | Alert name |
| AlarmEventType | Alert type |
| Level | Severity (serious/suspicious/remind) |
| EventStatus | 1=pending, 2=ignored, 8=false positive, 32=completed |
---
### Step 2: Display Alert Information and Recommendations
**Display Format:**
```
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
```
For operateCode mappings and recommendation rules, see [references/operation-codes.md](references/operation-codes.md)
---
### Step 3: Determine Handling Intent
**Case A: User specified handling method** → Proceed to Step 4
**Case B: User did not specify** → **Must ask user:**
```
Please confirm how to handle these alerts:
1. ✅ Handle all using recommended methods
2. 🔧 Custom handling method
3. ❌ Cancel
Please select (enter number):
```
---
### Step 4: Query Available Handling Operations
> **⚠️ Strict Constraint: Each alert's available operations must be queried individually**
> - **NEVER** assume one alert's operations apply to another
> - **MUST** call `DescribeSecurityEventOperations` for each alert
```bash
aliyun sas DescribeSecurityEventOperations \
--SecurityEventId {AlertID} \
--Lang zh \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler
```
**⚠️ Critical: Only execute operations where `UserCanOperate=true`**
---
### Step 5: Build Parameters and Execute
**Quick Reference - Common Operations:**
| OperationCode | OperationParams | Notes |
|---------------|-----------------|-------|
| block_ip | `{"expireTime":1773991205392}` | expireTime = current + duration (ms) |
| kill_and_quara | `{"subOperation":"killAndQuaraFileByMd5andPath"}` | |
| virus_quara | `{"subOperation":"quaraFileByMd5andPath"}` | |
| quara | `{}` | |
| ignore | `{}` | |
| manual_handled | `{}` | |
| advance_mark_mis_info | `{}` + MarkMissParam | See workflow-details.md |
**Example - ignore:**
```bash
aliyun sas HandleSecurityEvents \
--SecurityEventIds.1 7009586xx \
--OperationCode ignore \
--OperationParams '{}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler
```
**Example - kill_and_quara:**
```bash
aliyun sas HandleSecurityEvents \
--SecurityEventIds.1 7008619xx \
--OperationCode kill_and_quara \
--OperationParams '{"subOperation":"killAndQuaraFileByMd5andPath"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler
```
**Example - block_ip (7 days):**
```bash
# 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
```
**Example - advance_mark_mis_info:**
```bash
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
```
> **⚠️ For advanced whitelist (advance_mark_mis_info):**
> - Must ask user about whitelist rules and scope
> - Must preserve existing MarkField rules
> - See [references/workflow-details.md](references/workflow-details.md) for detailed process
For complete CLI examples and parameter details, see [references/workflow-details.md](references/workflow-details.md)
---
### Step 6: Query Handling Status
> **⚠️ CLI Requirement: Must pass both TaskId and SecurityEventIds**
```bash
aliyun sas DescribeSecurityEventOperationStatus \
--TaskId 290511xx \
--SecurityEventIds.1 7009607xx \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-sas-alert-handler
```
**Polling Logic:**
1. `TaskStatus=Processing` → Wait 2s, retry (max 5 times)
2. After 10s still not complete → Mark as failed
3. `TaskStatus=Success` → Handling successful
4. `TaskStatus=Failure` → Check ErrorCode
---
### Step 7: Loop to Handle Other Alerts
If there are other alerts, repeat Steps 3-6. Maximum 20 alerts per batch.
---
### Step 8: Results Summary
```
========== 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
```
For detailed format, see [references/error-handling.md](references/error-handling.md)
---
## operateCode Quick Reference
| operateCode | Description | Additional Params |
|-------------|-------------|-------------------|
| block_ip | Block IP | expireTime (required) |
| kill_and_quara | Kill and Quarantine | subOperation (required) |
| virus_quara | Quarantine File | subOperation (required) |
| quara | Quarantine | None |
| advance_mark_mis_info | Advanced Whitelist | MarkMissParam |
| ignore | Ignore | None |
| manual_handled | Mark as Handled | None |
| kill_process | Kill Process | None |
For complete operateCode categories and details, see [references/operation-codes.md](references/operation-codes.md)
---
## Error Handling
| Error Scenario | Handling Method |
|----------------|------------------|
| UserCanOperate=false | Operation not supported, version limitation |
| Timeout (>10s) | Mark as failed, continue next |
| *.AgentOffline | Client offline, cannot handle |
| *.ProcessNotExist | Suggest using virus_quara_bin |
| NoPermission | Contact admin for authorization |
| SecurityEventNotExists | Search in handled alerts first |
For detailed error handling procedures, see [references/error-handling.md](references/error-handling.md)
---
## Best Practices
1. **Query before handling**: Call `DescribeSecurityEventOperations` first
2. **Batch limit**: Maximum 20 alerts per batch
3. **Preserve existing rules**: When using advanced whitelist, merge existing MarkField rules
4. **Timeout handling**: Polling over 10 seconds = failed
5. **User confirmation**: Must confirm intent before handling
6. **Logging**: Record all operations for auditing
---
## Reference Documents
| Document | Description |
|----------|-------------|
| [references/workflow-details.md](references/workflow-details.md) | Detailed workflow, CLI examples, advanced whitelist |
| [references/operation-codes.md](references/operation-codes.md) | Complete operateCode reference |
| [references/error-handling.md](references/error-handling.md) | Error handling procedures |
| [references/related-apis.md](references/related-apis.md) | API parameter details |
| [references/ram-policies.md](references/ram-policies.md) | RAM permission policies |
| [references/verification-method.md](references/verification-method.md) | Verification methods |
| [references/cli-installation-guide.md](references/cli-installation-guide.md) | CLI installation guide |
Scanned 9/12/2026
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!