performing-alert-triage-with-elastic-siem

在 Elastic Security SIEM 中执行系统化的告警分诊,快速分类、优先排序和调查安全告警,以支持 SOC 运营。

9 stars

Best use case

performing-alert-triage-with-elastic-siem is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

在 Elastic Security SIEM 中执行系统化的告警分诊,快速分类、优先排序和调查安全告警,以支持 SOC 运营。

Teams using performing-alert-triage-with-elastic-siem 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/performing-alert-triage-with-elastic-siem/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/performing-alert-triage-with-elastic-siem/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/performing-alert-triage-with-elastic-siem/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How performing-alert-triage-with-elastic-siem Compares

Feature / Agentperforming-alert-triage-with-elastic-siemStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

在 Elastic Security SIEM 中执行系统化的告警分诊,快速分类、优先排序和调查安全告警,以支持 SOC 运营。

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

# 使用 Elastic SIEM 执行告警分诊

## 概述

Elastic Security 中的告警分诊(Alert Triage)是对安全告警进行审查、分类和优先排序的系统化流程,旨在判断哪些告警代表真实威胁。Elastic 的 AI 驱动攻击发现(Attack Discovery)功能可将数百个告警归并为离散的攻击链,但熟练分析师的人工分诊仍不可或缺。使用 Elastic 内置工具,结构化分诊工作流通常每个告警簇耗时 5-10 分钟。

## 前置条件

- 已部署 Elastic Security(版本 8.x 或更高)
- 已为端点和网络数据采集配置 Elastic Agent 或 Beats
- 检测规则已启用并正在生成告警
- 各数据源符合 Elastic Common Schema(ECS)规范
- 分析师具备访问 Kibana Security 应用的相应权限

## 告警分诊工作流程

### 步骤 1:初步告警评估(2 分钟)

在 Elastic Security 中查看告警时,检查告警详情面板:

```
告警详情面板:
- Rule Name and Description
- Severity and Risk Score
- MITRE ATT&CK Mapping
- Host and User Context
- Process Tree (for endpoint alerts)
- Timeline of related events
```

#### 优先检查的关键字段

| 字段 | 用途 | ECS 字段 |
|---|---|---|
| 规则严重性 | 初步优先级评估 | `kibana.alert.severity` |
| 风险评分 | 量化威胁级别 | `kibana.alert.risk_score` |
| 主机名 | 受影响系统 | `host.name` |
| 用户名 | 受影响身份 | `user.name` |
| 进程名 | 执行进程 | `process.name` |
| 源 IP | 活动来源 | `source.ip` |
| 目标 IP | 活动目标 | `destination.ip` |
| MITRE 战术 | 攻击阶段 | `threat.tactic.name` |

### 步骤 2:上下文收集(3 分钟)

#### 使用 ES|QL 查询相关事件

```esql
FROM logs-endpoint.events.*
| WHERE host.name == "affected-host" AND @timestamp > NOW() - 1 HOUR
| STATS count = COUNT(*) BY event.category, event.action
| SORT count DESC
```

#### 查找可疑用户的所有活动

```esql
FROM logs-*
| WHERE user.name == "suspicious-user" AND @timestamp > NOW() - 24 HOURS
| STATS count = COUNT(*), unique_hosts = COUNT_DISTINCT(host.name) BY event.category
| SORT count DESC
```

#### 检查来自同一来源的相关告警

```esql
FROM .alerts-security.alerts-default
| WHERE source.ip == "10.0.0.50" AND @timestamp > NOW() - 24 HOURS
| STATS alert_count = COUNT(*) BY kibana.alert.rule.name, kibana.alert.severity
| SORT alert_count DESC
```

#### 调查来自同一 IP 的横向移动

```esql
FROM logs-system.auth-*
| WHERE source.ip == "10.0.0.50" AND event.outcome == "success"
| STATS login_count = COUNT(*), hosts = COUNT_DISTINCT(host.name) BY user.name
| WHERE hosts > 3
```

### 步骤 3:威胁情报富化(2 分钟)

对照威胁情报检查指标:

```esql
FROM logs-ti_*
| WHERE threat.indicator.ip == "203.0.113.50"
| KEEP threat.indicator.type, threat.indicator.provider, threat.indicator.confidence, threat.feed.name
```

#### 对照已知威胁检查文件哈希

```esql
FROM logs-endpoint.events.file-*
| WHERE file.hash.sha256 == "abc123..."
| STATS occurrences = COUNT(*) BY host.name, file.path, user.name
```

### 步骤 4:分类决策(2 分钟)

| 分类 | 判断标准 | 处理措施 |
|---|---|---|
| 真阳性(True Positive) | 已确认的恶意活动 | 升级为事件,开始遏制 |
| 良性真阳性(Benign True Positive) | 符合规则的预期行为 | 在告警备注中记录,确认关闭 |
| 假阳性(False Positive) | 规则对良性活动触发 | 标记为假阳性,创建调优任务 |
| 待调查(Needs Investigation) | 数据不足以做出判断 | 指派进行深入调查 |

### 步骤 5:记录与升级(1 分钟)

对每个分诊后的告警,记录:
- 分类决策及理由
- 已审查的证据制品
- 相关告警或调查
- 建议的后续步骤

## 用于分诊的检测规则

### 预置检测规则

Elastic Security 包含 1000+ 条预置检测规则,按以下维度组织:
- **MITRE ATT&CK 战术**:初始访问、执行、持久化等
- **平台**:Windows、Linux、macOS、云
- **数据源**:端点、网络、云、身份

### 自定义告警关联规则

```json
{
  "name": "Multiple Failed Logins Followed by Success",
  "type": "threshold",
  "query": "event.category:authentication AND event.outcome:failure",
  "threshold": {
    "field": ["source.ip", "user.name"],
    "value": 5,
    "cardinality": [
      {
        "field": "user.name",
        "value": 3
      }
    ]
  },
  "severity": "high",
  "risk_score": 73,
  "threat": [
    {
      "framework": "MITRE ATT&CK",
      "tactic": {
        "id": "TA0006",
        "name": "Credential Access"
      },
      "technique": [
        {
          "id": "T1110",
          "name": "Brute Force"
        }
      ]
    }
  ]
}
```

## AI 辅助分诊

### Elastic AI Assistant 集成

1. 在 Elastic Security 中打开告警
2. 点击 AI Assistant 面板
3. 使用快捷提示:
   - "Summarize this alert" - 获取初步评估
   - "Generate ES|QL query to find related activity" - 扩展调查范围
   - "What are the recommended response actions?" - 获取响应手册指引
   - "Is this likely a false positive?" - 获取 AI 置信度评估

### 攻击发现(Attack Discovery)

Elastic 的 Attack Discovery 自动执行以下操作:
- 将相关告警归组为攻击链
- 将告警映射到 MITRE ATT&CK 杀伤链阶段
- 使用机器学习模型过滤假阳性
- 基于业务影响进行优先级排序
- 提供攻击的叙述性摘要

## 分诊优先级矩阵

| 风险评分 | 严重性 | 资产关键性 | 响应 SLA |
|---|---|---|---|
| 90-100 | 严重 | 高 | 15 分钟 |
| 70-89 | 高 | 高 | 30 分钟 |
| 70-89 | 高 | 中 | 1 小时 |
| 50-69 | 中 | 任意 | 4 小时 |
| 21-49 | 低 | 任意 | 8 小时 |
| 1-20 | 信息 | 任意 | 24 小时 |

## 分诊指标与 KPI

| 指标 | 目标值 | 计量方式 |
|---|---|---|
| 平均分诊时间(MTTT) | < 10 分钟 | 从告警创建到分类完成的时间 |
| 假阳性率 | < 30% | 假阳性数 / 告警总数 |
| 升级率 | 10-20% | 已升级告警数 / 告警总数 |
| 告警覆盖率 | > 80% | 已分诊告警数 / 每班产生告警数 |
| 重新分类率 | < 5% | 变更分类数 / 已分类总数 |

## 参考资料

- [Elastic Security - 告警分诊文档](https://www.elastic.co/docs/solutions/security/ai/triage-alerts)
- [SOC 分析师 Elastic 分诊指南](https://systemweakness.com/from-alert-to-action-a-soc-analysts-guide-to-triage-with-elastic-%EF%B8%8F-4e5354ab5da9)
- [Elastic 博客 - AI 与 2025 SIEM 格局](https://www.elastic.co/blog/ai-siem-landscape)
- [使用 Elastic 和 Tines 减少假阳性](https://www.elastic.co/blog/false-positives-automated-siem-investigations-elastic-tines)

Related Skills

triaging-security-alerts-in-splunk

9
from killvxk/cybersecurity-skills-zh

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

performing-yara-rule-development-for-detection

9
from killvxk/cybersecurity-skills-zh

通过识别可执行文件中的唯一字节模式、字符串和行为指标,开发精准的 YARA 恶意软件检测规则,同时将误报率降至最低。

performing-wireless-security-assessment-with-kismet

9
from killvxk/cybersecurity-skills-zh

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

performing-wireless-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

执行无线网络渗透测试,通过捕获握手包、破解 WPA2/WPA3 密钥、检测流氓接入点以及使用 Aircrack-ng 和相关工具测试无线网络分段,评估 WiFi 安全性。

performing-windows-artifact-analysis-with-eric-zimmerman-tools

9
from killvxk/cybersecurity-skills-zh

使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。

performing-wifi-password-cracking-with-aircrack

9
from killvxk/cybersecurity-skills-zh

在授权无线安全评估中捕获 WPA/WPA2 握手包,并使用 aircrack-ng、hashcat 和字典攻击进行离线密码破解, 以评估密码短语强度和无线网络安全状况。

performing-web-cache-poisoning-attack

9
from killvxk/cybersecurity-skills-zh

在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。

performing-web-cache-deception-attack

9
from killvxk/cybersecurity-skills-zh

通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。

performing-web-application-vulnerability-triage

9
from killvxk/cybersecurity-skills-zh

使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。

performing-web-application-scanning-with-nikto

9
from killvxk/cybersecurity-skills-zh

Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。

performing-web-application-penetration-test

9
from killvxk/cybersecurity-skills-zh

遵循 OWASP Web 安全测试指南(WSTG)方法论,对 Web 应用程序执行系统化安全测试,识别认证、授权、 输入验证、会话管理和业务逻辑中的漏洞。测试人员以 Burp Suite 作为主要拦截代理,结合手动测试技术 发现自动化扫描器遗漏的缺陷。适用于 Web 应用渗透测试、OWASP 测试、应用安全评估或 Web 漏洞测试等请求场景。

performing-web-application-firewall-bypass

9
from killvxk/cybersecurity-skills-zh

使用编码技术、HTTP 方法操控、参数污染和载荷混淆绕过 Web 应用防火墙保护,将 SQL 注入、XSS 及其他攻击载荷穿透 WAF 检测规则。