triaging-security-alerts-in-splunk
在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。
Best use case
triaging-security-alerts-in-splunk is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。
Teams using triaging-security-alerts-in-splunk 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/triaging-security-alerts-in-splunk/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How triaging-security-alerts-in-splunk Compares
| Feature / Agent | triaging-security-alerts-in-splunk | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 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
# 在 Splunk 中对安全告警进行分类
## 适用场景
以下情况使用本技能:
- SOC 一级分析师需要处理 Splunk Enterprise Security(ES)中的事件审查队列
- 重要事件需要在升级前快速完成严重性分类和初步调查
- 告警量超过处理能力,分析师需要系统化的分类方法
- 管理层要求统计告警处置(真阳性、误报、良性)相关指标
**不适用于**深度取证调查——在初步分类确认存在恶意活动后应升级至二/三级处理。
## 前置条件
- Splunk Enterprise Security 7.x+,已配置事件审查(Incident Review)仪表板
- 已 CIM 归一化的数据源(Windows 事件日志、防火墙、代理、终端)
- 具有 `ess_analyst` 权限以更新重要事件状态
- 熟悉 SPL(搜索处理语言)
## 工作流程
### 步骤 1:访问事件审查并确定队列优先级
在 Splunk ES 中打开事件审查仪表板。按紧急度(由严重性 × 优先级计算得出)对重要事件进行排序。应用过滤器聚焦于未分配事件:
```spl
| `notable`
| search status="new" OR status="unassigned"
| sort - urgency
| table _time, rule_name, src, dest, user, urgency, status
| head 50
```
优先处理严重(Critical)和高(High)紧急度事件。按 `src` 或 `dest` 将相关告警分组,识别攻击链,而非单独处理每个告警。
### 步骤 2:调查重要事件上下文
对于每个重要事件,深入查看原始事件。以暴力破解告警为例:
```spl
index=wineventlog sourcetype="WinEventLog:Security" EventCode=4625
src_ip="192.168.1.105"
earliest=-1h latest=now
| stats count by src_ip, dest, user, status
| where count > 10
| sort - count
```
检查源 IP 是否为内部 IP(横向移动)或外部 IP(外围攻击)。与资产和身份查找表交叉关联:
```spl
| `notable`
| search rule_name="Brute Force Access Behavior Detected"
| lookup asset_lookup_by_cidr ip AS src OUTPUT category, owner, priority
| lookup identity_lookup_expanded identity AS user OUTPUT department, managedBy
| table _time, src, dest, user, category, owner, department
```
### 步骤 3:跨数据源关联
检查同一来源是否出现在其他遥测数据中:
```spl
index=proxy OR index=firewall src="192.168.1.105" earliest=-24h
| stats count by index, sourcetype, action, dest_port
| sort - count
```
寻找佐证:同一 IP 是否也触发了 DNS 异常、代理阻断或终端检测告警?
```spl
index=main sourcetype="cisco:asa" src="192.168.1.105" action=blocked earliest=-24h
| timechart span=1h count by dest_port
```
### 步骤 4:检查威胁情报丰富化
在威胁情报框架中查询已知 IOC:
```spl
| `notable`
| search search_name="Threat - Threat Intelligence Match - Rule"
| lookup threat_intel_by_ip ip AS src OUTPUT threat_collection, threat_description, threat_key
| table _time, src, dest, threat_collection, threat_description, weight
| where weight >= 3
```
针对域名查询威胁列表:
```spl
| tstats count from datamodel=Web where Web.url="*evil-domain.com*" by Web.src, Web.url, Web.status
| rename Web.* AS *
```
### 步骤 5:对告警进行分类和处置
在事件审查中更新重要事件状态:
| 处置 | 判定标准 | 处置动作 |
|------|----------|----------|
| **真阳性(True Positive)** | 佐证证据确认存在恶意活动 | 升级至二级,创建事件工单 |
| **良性真阳性(Benign True Positive)** | 告警正确触发但活动经过授权(如渗透测试) | 带注释关闭,如重复出现则添加抑制规则 |
| **误报(False Positive)** | 告警逻辑匹配了良性行为 | 关闭,调整关联搜索,记录模式 |
| **待定(Undetermined)** | 数据不足以完成分类 | 带调查备注分配给二级分析师 |
通过 Splunk ES 界面或 REST API 更新:
```spl
| sendalert update_notable_event param.status="2" param.urgency="critical"
param.comment="已确认来自被入侵工作站的暴力破解。已升级至 IR-2024-0431。"
param.owner="analyst_jdoe"
```
### 步骤 6:记录分类发现
在重要事件注释字段中记录:
- 涉及的源/目标
- 已检查的数据源
- 关联发现(相关告警、威胁情报匹配)
- 处置依据
- 升级的后续步骤
```spl
| `notable`
| search rule_name="Brute Force*" status="closed"
| stats count by status_label, disposition
| addtotal
```
### 步骤 7:追踪分类指标
随时间监控分类效率:
```spl
| `notable`
| where status_end > 0
| eval triage_time = status_end - _time
| stats avg(triage_time) AS avg_triage_sec, median(triage_time) AS med_triage_sec,
count by rule_name, status_label
| eval avg_triage_min = round(avg_triage_sec/60, 1)
| sort - count
| table rule_name, status_label, count, avg_triage_min
```
## 核心概念
| 术语 | 定义 |
|------|------|
| **重要事件(Notable Event)** | Splunk ES 关联搜索在满足定义的风险或阈值条件时生成的告警 |
| **紧急度(Urgency)** | 综合事件严重性与资产/身份优先级计算得出的字段(严重/高/中/低/信息) |
| **关联搜索(Correlation Search)** | 定时运行的 SPL 查询,检测威胁模式并在条件匹配时生成重要事件 |
| **CIM** | 通用信息模型——Splunk 规范化字段命名约定,支持跨源查询 |
| **处置(Disposition)** | 告警的最终分类:真阳性、误报、良性真阳性或待定 |
| **MTTD/MTTR** | 平均检测时间/平均响应时间——衡量检测和处置速度的关键 SOC 指标 |
## 工具与系统
- **Splunk Enterprise Security**:提供事件审查仪表板、关联搜索和风险驱动告警的 SIEM 平台
- **Splunk SOAR(Phantom)**:自动化分类 Playbook 和丰富化动作的编排平台
- **资产与身份框架**:Splunk ES 查找表,将 IP 映射到资产所有者,将用户映射到所属部门以提供上下文丰富化
- **威胁情报框架**:Splunk ES 模块,接收 STIX/TAXII 订阅并将 IOC 与重要事件进行匹配
## 常见场景
- **暴力破解告警**:将 EventCode 4625(登录失败)与来自同一来源的 4624(登录成功)关联,判断攻击是否成功
- **恶意软件检测**:将终端 AV 告警与代理日志交叉关联,确认 C2 回调
- **数据渗漏告警**:根据 DLP 和代理日志对比用户基线,检查出站数据量
- **权限提升**:将非管理员用户的 EventCode 4672(分配特殊权限)与 4720(账户创建)关联
- **横向移动**:追踪单一来源向多个目标的 EventCode 4648(显式凭据登录)
## 输出格式
```
分类报告 — 重要事件 #NE-2024-08921
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
告警: Brute Force Access Behavior Detected
时间: 2024-03-15 14:23:07 UTC
来源: 192.168.1.105(WORKSTATION-042,财务部)
目标: 10.0.5.20(DC-PRIMARY,域控制器)
用户: jsmith(财务分析师)
调查:
- 12 分钟内来自该来源的 847 次登录失败(4625)
- 暴力破解后在 14:35:02 成功登录(4624)
- 过去 24 小时内该来源无代理/DNS 异常
- 来源 IP 不在威胁情报列表中
处置: 真阳性 — 凭据被入侵
动作: 已升级至二级,创建工单 IR-2024-0431
账号 jsmith 已禁用,等待密码重置
```Related Skills
triaging-vulnerabilities-with-ssvc-framework
使用 CISA 的利益相关方特定漏洞分类(SSVC)决策树框架对漏洞进行分类和优先排序,产出可操作的修复优先级:Track、Track*、Attend 或 Act。
triaging-security-incident
使用 NIST SP 800-61r3 和 SANS PICERL 框架对安全事件进行初始分类,确定严重性、范围和所需响应行动。 按类型对事件分类,根据业务影响分配优先级,并路由到相应的响应团队。适用于事件分类、 安全告警分类、严重性评估、事件优先级排序或初始事件分析等请求场景。
triaging-security-incident-with-ir-playbook
使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。
testing-websocket-api-security
测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。
testing-jwt-token-security
在安全测试活动中,评估 JSON Web Token(JWT)实现中的密码学弱点、算法混淆攻击和授权绕过漏洞。
testing-api-security-with-owasp-top-10
使用自动化和手工测试技术,针对 OWASP API 安全 Top 10 风险对 REST 和 GraphQL API 端点进行系统性评估。
performing-wireless-security-assessment-with-kismet
使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。
performing-ssl-tls-security-assessment
使用 sslyze Python 库评估 SSL/TLS 服务器配置,评估加密套件、证书链、协议版本、HSTS 头部,以及 Heartbleed 和 ROBOT 等已知漏洞。
performing-soap-web-service-security-testing
通过分析 WSDL 定义,测试 XML 注入(XML Injection)、XXE、WS-Security 绕过和 SOAPAction 欺骗,对 SOAP Web 服务执行安全测试。
performing-serverless-function-security-review
对 AWS Lambda、Azure Functions 和 GCP Cloud Functions 中的无服务器函数(Serverless Function)执行安全审查,识别过度宽松的执行角色(Execution Role)、不安全的环境变量、注入漏洞和缺失的运行时保护措施。
performing-scada-hmi-security-assessment
对 SCADA 人机界面(HMI, Human-Machine Interface)系统进行安全评估,识别基于 Web 的 HMI、瘦客户端配置、认证机制以及 HMI 与 PLC 之间通信信道中的漏洞,符合 IEC 62443 和 NIST SP 800-82 指南要求。
performing-s7comm-protocol-security-analysis
对西门子SIMATIC S7 PLC使用的S7comm和S7CommPlus协议进行安全分析,识别漏洞,包括重放攻击、完整性绕过、未授权的CPU停止命令以及针对S7-300、S7-400、S7-1200和S7-1500控制器弱点的程序下载操控。