triaging-security-incident-with-ir-playbook

使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。

9 stars

Best use case

triaging-security-incident-with-ir-playbook is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。

Teams using triaging-security-incident-with-ir-playbook should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/triaging-security-incident-with-ir-playbook/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/triaging-security-incident-with-ir-playbook/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/triaging-security-incident-with-ir-playbook/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How triaging-security-incident-with-ir-playbook Compares

Feature / Agenttriaging-security-incident-with-ir-playbookStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 使用 IR Playbook 对安全事件进行分类(Triaging Security Incidents with IR Playbooks)

## 适用场景
- 从 SIEM、EDR 或其他检测来源收到新的安全告警
- SOC 分析员需要判断告警是否为需要响应的真阳性
- 事件需要严重性分类和团队分配
- 多个并发事件需要优先排序
- 自动化分类规则需要验证或调优

## 前置条件
- 具备告警关联能力的 SIEM 平台(Splunk、Elastic、QRadar、Sentinel)
- 按事件类型分类的 IR Playbook 库
- 经 CISO 审批的严重性分类矩阵
- 值班轮换和升级程序
- 用于事件追踪的工单系统(ServiceNow、Jira、TheHive)
- 用于 IOC 丰富化的威胁情报订阅

## 工作流程

### 步骤 1:接收并确认告警
```bash
# 查询 Splunk 中新的严重/高级告警
index=notable status=new severity IN ("critical","high")
| table _time, rule_name, src, dest, severity, description
| sort -_time

# 查询 TheHive 中的新案例
curl -s -H "Authorization: Bearer $THEHIVE_API_KEY" \
  "https://thehive.local/api/v1/query?name=list-alerts" \
  -H "Content-Type: application/json" \
  -d '{"query":[{"_name":"listAlert"},{"_name":"filter","_field":"status","_value":"New"}]}'

# 在 SIEM 中确认告警,防止重复分类
curl -X POST "https://splunk.local:8089/services/notable_update" \
  -H "Authorization: Bearer $SPLUNK_TOKEN" \
  -d "ruleUIDs=$RULE_UID&status=1&comment=Triage+initiated+by+analyst"
```

### 步骤 2:丰富告警数据
```bash
# 用 VirusTotal 丰富源 IP 信息
curl -s "https://www.virustotal.com/api/v3/ip_addresses/$SRC_IP" \
  -H "x-apikey: $VT_API_KEY" | jq '.data.attributes.last_analysis_stats'

# 用 AbuseIPDB 检查 IP 声誉
curl -s "https://api.abuseipdb.com/api/v2/check?ipAddress=$SRC_IP&maxAgeInDays=90" \
  -H "Key: $ABUSEIPDB_KEY" -H "Accept: application/json" | jq '.data'

# 用威胁情报丰富文件哈希信息
curl -s "https://www.virustotal.com/api/v3/files/$FILE_HASH" \
  -H "x-apikey: $VT_API_KEY" | jq '.data.attributes.last_analysis_stats'

# 查询内部资产数据库获取受影响系统信息
curl -s "https://cmdb.local/api/assets?ip=$DEST_IP" \
  -H "Authorization: Bearer $CMDB_TOKEN" | jq '.asset_criticality, .owner, .environment'
```

### 步骤 3:对事件类型进行分类
```bash
# 使用 Playbook 映射表将告警归入事件类别
# 类别:恶意软件、网络钓鱼、未授权访问、数据外泄、
# DoS/DDoS、内部威胁、勒索软件、账号攻陷、Web 攻击

# 检查告警是否匹配已知 Playbook 触发条件
grep -i "$ALERT_SIGNATURE" /opt/ir/playbooks/trigger_conditions.yaml

# 根据 MITRE ATT&CK 技术确定事件类型
curl -s "https://attack.mitre.org/api/techniques/$TECHNIQUE_ID" | jq '.name, .tactic'
```

### 步骤 4:分配严重性级别
```bash
# 严重性矩阵影响因素:
# 1. 资产重要性(关键/高/中/低)
# 2. 数据敏感性(PII/PHI/PCI/机密/公开)
# 3. 受影响系统数量
# 4. 活跃威胁还是历史威胁
# 5. 已确认还是疑似攻陷

# 自动化严重性计算
python3 -c "
severity_score = 0
# 资产重要性:关键=4, 高=3, 中=2, 低=1
severity_score += 4  # 关键服务器
# 数据敏感性:PII/PHI=4, PCI=3, 机密=2, 公开=1
severity_score += 3  # PCI 数据
# 范围:企业级=4, 部门级=3, 单系统=2, 单用户=1
severity_score += 2  # 单系统
# 威胁状态:活跃=4, 近期=3, 历史=2, 潜在=1
severity_score += 4  # 活跃威胁

if severity_score >= 12: print('严重 - P1')
elif severity_score >= 9: print('高 - P2')
elif severity_score >= 6: print('中 - P3')
else: print('低 - P4')
print(f'得分: {severity_score}/16')
"
```

### 步骤 5:选择并启动 Playbook
```bash
# 根据事件类型加载对应 Playbook
cat /opt/ir/playbooks/ransomware_playbook.yaml
cat /opt/ir/playbooks/phishing_playbook.yaml
cat /opt/ir/playbooks/unauthorized_access_playbook.yaml

# 在 TheHive 中创建事件工单
curl -X POST "https://thehive.local/api/v1/case" \
  -H "Authorization: Bearer $THEHIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "IR-2024-XXX: [事件类型] - [简要描述]",
    "description": "分类摘要和初始发现",
    "severity": 3,
    "tlp": 2,
    "pap": 2,
    "tags": ["ransomware", "triage-complete"],
    "customFields": {
      "playbook": {"string": "ransomware_v2"},
      "affected_systems": {"integer": 5}
    }
  }'
```

### 步骤 6:分配响应团队
```bash
# 检查值班排班
curl -s "https://pagerduty.com/api/v2/oncalls?schedule_ids[]=$SCHEDULE_ID" \
  -H "Authorization: Token token=$PD_TOKEN" | jq '.oncalls[].user.summary'

# 根据严重性通知事件响应人员
# P1/严重:通知 IR 负责人 + 高级分析员 + CISO
# P2/高:通知 IR 负责人 + 可用分析员
# P3/中:分配给下一位可用分析员
# P4/低:排入工作时间处理队列

curl -X POST "https://events.pagerduty.com/v2/enqueue" \
  -H "Content-Type: application/json" \
  -d '{
    "routing_key": "'$PD_ROUTING_KEY'",
    "event_action": "trigger",
    "payload": {
      "summary": "P1 安全事件:在 PROD-DB-01 上检测到勒索软件",
      "severity": "critical",
      "source": "SIEM-Splunk",
      "custom_details": {"incident_id": "IR-2024-042", "playbook": "ransomware_v2"}
    }
  }'
```

### 步骤 7:记录分类决定并移交
```bash
# 用分类摘要更新事件工单
curl -X PATCH "https://thehive.local/api/v1/case/$CASE_ID" \
  -H "Authorization: Bearer $THEHIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "InProgress",
    "customFields": {
      "triage_analyst": {"string": "analyst_name"},
      "triage_time": {"date": '$(date +%s000)'},
      "severity_justification": {"string": "关键资产 + 活跃威胁 + PCI 数据"}
    }
  }'
```

## 核心概念

| 概念 | 定义 |
|------|------|
| **真阳性(True Positive)** | 告警正确识别了真实安全事件 |
| **假阳性(False Positive)** | 告警错误地将正常活动标记为恶意 |
| **严重性分类(Severity Classification)** | 根据影响和紧迫性对事件优先级进行排名 |
| **Playbook 选择(Playbook Selection)** | 根据事件类型选择适当的响应程序 |
| **IOC 丰富化(IOC Enrichment)** | 从威胁情报来源为指标添加上下文信息 |
| **升级阈值(Escalation Threshold)** | 触发升级至更高严重性或管理层的条件 |
| **分类 SLA(Triage SLA)** | 初始评估的时间目标(关键事件通常为 15-30 分钟) |

## 工具与系统

| 工具 | 用途 |
|------|------|
| Splunk/Elastic/QRadar | SIEM 告警关联与查询 |
| TheHive/SIRP | 事件案例管理和 Playbook 追踪 |
| VirusTotal/AbuseIPDB | IOC 声誉查询和丰富化 |
| PagerDuty/OpsGenie | 值班管理和告警通知 |
| MITRE ATT&CK | 技术分类与映射 |
| Cortex XSOAR | 用于自动化分类工作流的 SOAR 平台 |

## 常见场景

1. **暴力破解告警**:单一 IP 多次登录失败。丰富 IP 声誉,检查地理位置,验证账号是否被攻陷,若未成功则分配 P3。
2. **端点恶意软件检测**:AV/EDR 隔离了恶意软件。验证隔离是否成功,检查是否有横向移动,若检测到持久化则分配 P2。
3. **可疑出站流量**:大量数据传输至未知外部 IP。检查是否为已知云服务,验证数据分类,若确认外泄则分配 P1。
4. **用户举报钓鱼邮件**:用户报告可疑邮件。提取 IOC,检查是否有其他收件人,若有人输入了凭据则分配 P2。
5. **权限提升**:用户意外获得管理员权限。验证是否为授权变更,检查是否存在漏洞利用,若未授权则分配 P1。

## 输出格式
- 含严重性论据的分类决定文档
- 已分配 Playbook 和团队的事件工单
- 附加到案例的 IOC 丰富化摘要
- 发送给相关干系人的升级通知
- 从告警数据提取的初始事件时间线

Related Skills

triaging-vulnerabilities-with-ssvc-framework

9
from killvxk/cybersecurity-skills-zh

使用 CISA 的利益相关方特定漏洞分类(SSVC)决策树框架对漏洞进行分类和优先排序,产出可操作的修复优先级:Track、Track*、Attend 或 Act。

triaging-security-incident

9
from killvxk/cybersecurity-skills-zh

使用 NIST SP 800-61r3 和 SANS PICERL 框架对安全事件进行初始分类,确定严重性、范围和所需响应行动。 按类型对事件分类,根据业务影响分配优先级,并路由到相应的响应团队。适用于事件分类、 安全告警分类、严重性评估、事件优先级排序或初始事件分析等请求场景。

triaging-security-alerts-in-splunk

9
from killvxk/cybersecurity-skills-zh

在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。

testing-websocket-api-security

9
from killvxk/cybersecurity-skills-zh

测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。

testing-jwt-token-security

9
from killvxk/cybersecurity-skills-zh

在安全测试活动中,评估 JSON Web Token(JWT)实现中的密码学弱点、算法混淆攻击和授权绕过漏洞。

testing-api-security-with-owasp-top-10

9
from killvxk/cybersecurity-skills-zh

使用自动化和手工测试技术,针对 OWASP API 安全 Top 10 风险对 REST 和 GraphQL API 端点进行系统性评估。

performing-wireless-security-assessment-with-kismet

9
from killvxk/cybersecurity-skills-zh

使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。

performing-ssl-tls-security-assessment

9
from killvxk/cybersecurity-skills-zh

使用 sslyze Python 库评估 SSL/TLS 服务器配置,评估加密套件、证书链、协议版本、HSTS 头部,以及 Heartbleed 和 ROBOT 等已知漏洞。

performing-soap-web-service-security-testing

9
from killvxk/cybersecurity-skills-zh

通过分析 WSDL 定义,测试 XML 注入(XML Injection)、XXE、WS-Security 绕过和 SOAPAction 欺骗,对 SOAP Web 服务执行安全测试。

performing-serverless-function-security-review

9
from killvxk/cybersecurity-skills-zh

对 AWS Lambda、Azure Functions 和 GCP Cloud Functions 中的无服务器函数(Serverless Function)执行安全审查,识别过度宽松的执行角色(Execution Role)、不安全的环境变量、注入漏洞和缺失的运行时保护措施。

performing-scada-hmi-security-assessment

9
from killvxk/cybersecurity-skills-zh

对 SCADA 人机界面(HMI, Human-Machine Interface)系统进行安全评估,识别基于 Web 的 HMI、瘦客户端配置、认证机制以及 HMI 与 PLC 之间通信信道中的漏洞,符合 IEC 62443 和 NIST SP 800-82 指南要求。

performing-s7comm-protocol-security-analysis

9
from killvxk/cybersecurity-skills-zh

对西门子SIMATIC S7 PLC使用的S7comm和S7CommPlus协议进行安全分析,识别漏洞,包括重放攻击、完整性绕过、未授权的CPU停止命令以及针对S7-300、S7-400、S7-1200和S7-1500控制器弱点的程序下载操控。