mcpField
I
incident-response

incident-response

github.com/alirezarezvani安全29.0k637 次安装今天更新
代码仓库

关于 incident-response

面向处理已确认安全事件的安全团队,覆盖从分诊到升级和证据收集的响应流程。它将事件分类脚本与严重级别指引、误报检查及证据保管链实践结合起来。

主要功能

  1. 01将事件归类为 14 种类型
  2. 02评估严重级别并确定升级路径
  3. 03筛除常见误报
  4. 04指导取证证据收集
  5. 05将事件类型对应到响应 SLA

适用场景

  1. 01分诊 SIEM 或 EDR 告警
  2. 02为疑似入侵安排升级优先级
  3. 03开展桌面事件响应演练
  4. 04按保管链要求收集证据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill incident-response

安装后在 Claude Code 中输入/incident-response确认已加载。

附带文件references/regulatory-deadlines.mdscripts/incident_triage.py

详细介绍

事件响应

事件响应技能覆盖完整生命周期,从初始分诊到取证收集、严重级别声明以及升级路由。这不是威胁狩猎(参见 threat-detection)或事后合规映射(参见 governance/compliance-mapping),而是对已声明的安全事件进行分类、分诊和管理。


目录


概述

本技能的作用

本技能为事件分诊与响应提供方法论和工具支持,包括将安全事件归类为具体类型的事件、评定严重级别、过滤误报、确定升级路径,并在链路保管控制下启动取证证据收集。

与其他安全技能的区别
技能关注点方式
incident-response(本技能)正在发生的事件被动响应:分类、升级、收集证据
threat-detection事件发生前的狩猎主动式:在告警触发前发现威胁
cloud-security云端安全态势评估预防性:IAM、S3、网络配置错误
red-team攻击性模拟攻击性:测试检测与响应能力
前提条件

安全事件必须在分诊前完成摄入。事件可能来自 SIEM 告警、EDR 检测、威胁情报源或用户报告。分诊工具接受 JSON 事件负载,输入模式见下文。


事件分诊工具

incident_triage.py 工具用于对事件进行分类、检查误报、评定严重级别、确定升级路径,并执行取证预分析。

# Classify an event from JSON file
python3 scripts/incident_triage.py --input event.json --classify --json

# Classify with false positive filtering enabled
python3 scripts/incident_triage.py --input event.json --classify --false-positive-check --json

# Force a severity level for tabletop exercises
python3 scripts/incident_triage.py --input event.json --severity sev1 --json

# Read event from stdin
echo '{"event_type": "ransomware", "host": "prod-db-01", "raw_payload": {}}' | \
  python3 scripts/incident_triage.py --classify --false-positive-check --json
输入事件模式
{
  "event_type": "ransomware",
  "host": "prod-db-01",
  "user": "svc_backup",
  "source_ip": "10.1.2.3",
  "timestamp": "2024-01-15T14:32:00Z",
  "raw_payload": {}
}
退出码
退出码含义所需响应
0SEV3/SEV4 或无事件按标准工单流程处理
1SEV2 — 升级1 小时桥接电话会议,异步协调
2SEV1 — 严重立即召开 15 分钟作战室会议,全员参与

事件分类

安全事件被划分为 14 种事件类型。分类决定默认严重级别、MITRE 技术映射和响应 SLA。

事件分类体系
事件类型默认严重级别MITRE 技术响应 SLA
ransomwareSEV1T148615 分钟
data_exfiltrationSEV1T104815 分钟
apt_intrusionSEV1T156615 分钟
supply_chain_compromiseSEV1T119515 分钟
domain_controller_breachSEV1T1078.00215 分钟
credential_compromiseSEV2T11101 小时
lateral_movementSEV2T10211 小时
malware_infectionSEV2T12041 小时
insider_threatSEV2T10781 小时
cloud_account_compromiseSEV2T1078.0041 小时
unauthorized_accessSEV3T11904 小时
policy_violationSEV3N/A4 小时
phishing_attemptSEV4T1566.00124 小时
security_alertSEV4N/A24 小时
SEV 升级触发条件

出现以下任一情况,将自动重新声明更高的严重级别:

触发条件新严重级别
发现勒索信息SEV1
确认正在发生数据外泄SEV1
CloudTrail 或 SIEM 被禁用SEV1
确认访问了域控制器SEV1
第二台系统被攻陷SEV1
外泄数据量超过 1 GB至少 SEV2
访问了 C 级高管账户至少 SEV2

严重级别框架

SEV 等级矩阵
等级名称判定标准调用的技能升级路径
SEV1严重已确认勒索软件;正在发生的 PII/PHI 数据外泄(>10K 条记录);域控制器遭入侵;防御规避(CloudTrail 被禁用);供应链攻破全部技能(并行)SOC 负责人 → CISO → CEO → 董事会主席
SEV2高已确认对敏感系统的未授权访问;提权账户凭据泄露;已确认横向移动;勒索软件迹象但尚未确认执行triage + containment + forensicsSOC 负责人 → CISO
SEV3中疑似未授权访问(未经确认);检测到恶意软件并已遏制;单一账户泄露(无权限提升)triage + containmentSOC 负责人 → 安全经理
SEV4低安全告警但无已确认影响;信息性指标;违反策略但无数据风险仅 triageL3 分析师队列

误报过滤

triage 工具在升级告警前应用五类过滤器,以防止误报数量被放大。

误报过滤器类型
过滤器说明示例模式
CI/CD Agent 活动被误标为异常的已知构建/部署 Agentjenkins, github-actions, circleci, gitlab-runner
测试环境标记标记为非生产环境的资产test-, staging-, dev-, sandbox-
计划任务模式预期内会触发告警的批处理作业cron, scheduled_task, batch_job, backup_
白名单身份明确批准的服务账户svc_monitoring, svc_backup, datadog-agent
扫描器活动已知的安全扫描器和漏洞工具nessus, qualys, rapid7, aws_inspector

确认为误报后,系统将取消升级并记录抑制原因以备审计。对于来自同一来源的重复误报,应在检测层进行调优予以屏蔽,而不应在 triage 环节反复过滤。


取证证据收集

证据收集遵循 DFRWS 六阶段框架以及“易失性优先”的获取原则。

DFRWS 六个阶段
阶段活动优先级
识别确定存在哪些证据以及位于何处立即
保全防止证据被修改——写保护、快照、法律保全立即
收集按易失性顺序获取证据立即
检验对已收集证据进行技术分析2 小时内
分析在调查语境中解释发现4 小时内
呈报出具包含证据保管链的调查结果报告事件关闭前
易失性证据——优先收集
  1. 内存实时镜像(RAM dump)——重启后丢失
  2. 正在运行的进程和打开的网络连接(netstat、ps)
  3. 已登录用户和活动会话
  4. 系统运行时长和当前时间(用于时间线锚定)
  5. 环境变量和已加载的内核模块
证据保管链要求

每一件证据都必须记录以下信息:

  • 获取时的 SHA-256 哈希值
  • 以 UTC 表示并带时区偏移的获取时间戳
  • 工具来源(FTK Imager、Volatility、dd、AWS CloudTrail 导出)
  • 调查人员身份
  • 转移日志(何人在何时持有保管权)

升级路径

按严重等级
严重等级即时联系人电话会议外部通知
SEV1SOC 负责人 + CISO(15 分钟内)立即召开作战会议法务与公关待命;按监管期限表进行监管通报
SEV2SOC 负责人(30 分钟内,异步)1 小时电话会议若涉及 PII,通知法务
SEV3安全经理(4 小时内)仅异步除非范围扩大,否则无需通知
SEV4L3 分析师队列(24 小时内)无无
按事件类型
事件类型主要升级对象次要升级对象
勒索软件 / APTCISO + CEO若数据面临风险则通知董事会
PII/PHI 泄露法务 + CISO监管机构(按截止时限表)
云账户失陷云安全团队CISO
内部威胁HR + 法务 + CISO涉及犯罪时通知执法部门
供应链CISO + 供应商管理董事会

监管通报义务

通报时限从事件宣告时开始计算,而不是从调查完成时开始。

框架事件类型截止时限处罚
GDPR(欧盟 2016/679)个人数据泄露发现后 72 小时内最高为全球营业额的 4%
PCI-DSS v4.0持卡人数据泄露24 小时内通知收单机构卡组织罚款
HIPAA(45 CFR 164)PHI 泄露(超过 500 人)发现后 60 天内每个违规类别最高 190 万美元
纽约州 DFS 23 NYCRR 500网络安全事件72 小时内通知 DFS监管制裁
SEC 规则(17 CFR 229.106)重大网络安全事件确定重大性后 4 个工作日内SEC 执法
CCPA / CPRA敏感个人信息泄露不得无故拖延总检察长执法;私人诉讼权
NIS2(欧盟 2022/2555)重大事件(关键服务)24 小时预警;72 小时通报国家主管机构制裁

操作规则: 若宣告时范围不明确,应按适用的最严格时限执行,并在首个响应窗口内确认范围。

完整时限参考:references/regulatory-deadlines.md


工作流

工作流 1:快速分诊(15 分钟)

适用于需要在升级决策前进行分类的单个告警:

# 1. Classify the event with false positive filtering
python3 scripts/incident_triage.py --input alert.json \
  --classify --false-positive-check --json

# 2. Review severity, escalation_path, and false_positive_flag in output
# 3. If severity = sev1 or sev2, page SOC Lead immediately
# 4. If false_positive_flag = true, document and close

决策: 退出码 2 = 立即召开 SEV1 战情会。退出码 1 = 30 分钟内召开 SEV2 桥接电话会议。

工作流 2:完整事件响应(SEV1)
T+0   Detection arrives (SIEM alert, EDR, user report)
T+5   Classify with incident_triage.py --classify --false-positive-check
T+10  If SEV1: page CISO, open war room, start regulatory clock
T+15  Initiate forensic collection (volatile evidence first)
T+15  Containment assessment (parallel with forensics)
T+30  Human approval gate for any containment action
T+45  Execute approved containment
T+60  Assess containment effectiveness, brief Legal if PII/PHI scope
T+4h  Final forensic evidence package, dwell time estimate
T+8h  Eradication and recovery plan
T+72h Regulatory notification submission (if GDPR/NIS2 triggered)
# Full classification with forensic context
python3 scripts/incident_triage.py --input incident.json \
  --classify --false-positive-check --severity sev1 --json > incident_triage_output.json

# Forensic pre-analysis
python3 scripts/incident_triage.py --input incident.json --json | \
  jq '.forensic_findings, .chain_of_custody_steps'
工作流 3:桌面推演模拟

在没有真实事件的情况下,模拟特定严重级别的事件:

# Simulate SEV1 ransomware incident
echo '{"event_type": "ransomware", "host": "prod-db-01", "user": "svc_backup"}' | \
  python3 scripts/incident_triage.py --classify --severity sev1 --json

# Simulate SEV2 credential compromise
echo '{"event_type": "credential_compromise", "user": "admin_user", "source_ip": "203.0.113.5"}' | \
  python3 scripts/incident_triage.py --classify --false-positive-check --json

# Verify escalation paths for all 14 incident types
for type in ransomware data_exfiltration credential_compromise lateral_movement; do
  echo "{\"event_type\": \"$type\"}" | python3 scripts/incident_triage.py --classify --json
done

反模式

  1. 从调查完成时开始计算通报时限:监管时限(GDPR 72 小时、PCI 24 小时)从发现时开始计算,而非调查完成时。即使事件本身较轻微,延迟宣告也会使组织面临最高额度的处罚。
  2. 在收集易失性证据之前进行遏制:重启或隔离系统会销毁内存、运行中的进程和活动连接。易失性证据的取证收集必须与遏制并行进行,绝不能在遏制之后进行。
  3. 升级前跳过误报验证:将每个告警都升级为 SEV1 会削弱 SOC 的可信度并造成告警疲劳。在呼叫 CISO 之前,务必先运行误报过滤。
  4. 未记录的事件指挥决策:SEV1 期间做出的每项决策,包括在不确定情况下做出的决策,都必须连同时间戳和理由记录在证据链中。未记录的决策无法在监管调查中得到辩护。
  5. 将事件关闭等同于调查完成:事件应在根除和恢复完成后关闭,而非调查结束时关闭。取证报告和监管提交可能在运营关闭之后继续进行。
  6. 单一来源分类:仅依据单一数据源(一条 SIEM 告警)在缺乏佐证证据的情况下对事件进行分类,常常导致错误分类。在宣告 SEV1 之前,应至少收集两个独立信号。
  7. 绕过遏制操作的人工审批关卡:未经人工批准而执行的自动化遏制措施(如网络隔离、凭证吊销)可能导致生产中断、销毁证据并产生法律责任。对于所有会改变系统状态的遏制操作,人工审批都是不可或缺的。

交叉引用

Skill关系
threat-detection已确认的狩猎发现会升级至 incident-response 进行分诊和分类
cloud-security云态势发现(IAM 泄露、S3 暴露)可能触发事件分类
red-team红队发现用于验证检测覆盖范围;已确认的漏洞缺口将转化为狩猎假设
security-pen-testing渗透测试中发现的、在野外被利用的漏洞会升级至 incident-response 进行主动事件处理

评论

支持 Markdown