mcpField
O
ot-incident-summarization

ot-incident-summarization

github.com/happy-technologies-llc安全4141 次安装2 天前更新
代码仓库

关于 ot-incident-summarization

该技能为 ServiceNow 中的 OT 事件生成综合摘要,面向 OT 安全分析人员、工厂经理和安全负责人。摘要结合安全影响、设备与区域、遏制状态、漏洞背景及 SLA 信息。

主要功能

  1. 01整合事件详情和安全影响
  2. 02盘点受影响 OT 设备与区域
  3. 03评估遏制状态和隔离效果
  4. 04追踪工业流程连续性影响
  5. 05汇总相关漏洞背景
  6. 06纳入 SLA 与响应时间指标

适用场景

  1. 01向管理层汇报正在发生的 OT 事件
  2. 02为安全审查整理事件背景
  3. 03编制 OT 安全交接记录
  4. 04准备监管合规报告

MCP 相关

说明使用 ServiceNow MCP 工具查询 OT 事件、设备、漏洞、工作记录、SLA 和相关事件,以生成结构化摘要。

安装

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

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill ot-incident-summarization

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

详细介绍

OT 事件摘要

概述

此技能可在 ServiceNow 中生成全面的运营技术(OT)事件摘要,专为 OT 安全分析师、工厂经理和安全主管定制。OT 事件摘要与 IT 事件摘要不同,因为必须说明对人身安全的影响、受影响的工业流程、各 OT 区域内的设备清单,以及监管报告要求。

主要功能:

  • 汇总 OT 事件详情并进行安全影响分类
  • 清点所有受影响的 OT 设备,并标注区域映射和关键性评级
  • 评估遏制状态和隔离效果
  • 跟踪对工业流程运营连续性的影响
  • 总结已遭利用漏洞的背景信息
  • 生成适用于监管报告和管理层简报的摘要

**适用场景:**OT 安全分析师需要向管理层汇报正在发生或近期发生的 OT 事件时;安全主管需要了解事件背景以进行安全审查时;准备 OT 安全运营的交接班文档时;或生成监管合规报告时。

前提条件

  • 角色:sn_ot_admin、sn_ot_analyst、sn_si_analyst 或同等 OT 安全角色
  • **访问权限:**对 sn_ot_incident、sn_ot_vulnerability、cmdb_ci_ot_device、sys_journal_field 和 task_sla 表具有读取权限
  • **插件:**必须启用运营技术(com.snc.ot)
  • **知识储备:**熟悉 OT/ICS 环境、普渡模型架构和工业安全概念

操作步骤

第 1 步:检索 OT 事件记录

获取包含安全和运营字段的主要事件记录。

使用 MCP:

Tool: SN-Get-Record
Parameters:
  table_name: sn_ot_incident
  sys_id: [INCIDENT_SYS_ID]
  fields: sys_id,number,short_description,description,state,priority,severity,category,subcategory,assigned_to,assignment_group,opened_at,opened_by,resolved_at,closed_at,impact,urgency,safety_impact,business_impact,ot_zone,attack_vector,containment_status,affected_ci,cmdb_ci,location,resolution_code,resolution_notes,escalation,correlation_id

按编号搜索时:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ot_incident
  query: number=OT0012345
  fields: sys_id,number,short_description,description,state,priority,severity,category,subcategory,assigned_to,assignment_group,opened_at,impact,safety_impact,ot_zone,attack_vector,containment_status,affected_ci,location,escalation
  limit: 1

使用 REST API:

GET /api/now/table/sn_ot_incident?sysparm_query=number=OT0012345&sysparm_fields=sys_id,number,short_description,description,state,priority,severity,category,subcategory,assigned_to,assignment_group,opened_at,impact,safety_impact,ot_zone,attack_vector,containment_status,affected_ci,location,escalation&sysparm_limit=1&sysparm_display_value=true
第 2 步:清点受影响的 OT 设备

检索受事件影响或与事件相关的所有 OT 设备。

使用 MCP:

Tool: SN-Get-Record
Parameters:
  table_name: cmdb_ci_ot_device
  sys_id: [AFFECTED_CI_SYS_ID]
  fields: sys_id,name,sys_class_name,device_type,manufacturer,model_id,firmware_version,ip_address,mac_address,ot_zone,protocol,location,operational_status,install_status,safety_critical,serial_number,support_group

查询同一区域内的其他设备:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_ot_device
  query: ot_zone=[ZONE_VALUE]^location=[LOCATION_SYS_ID]
  fields: sys_id,name,device_type,manufacturer,ip_address,ot_zone,safety_critical,operational_status,firmware_version
  limit: 50

使用 REST API:

GET /api/now/table/cmdb_ci_ot_device/{AFFECTED_CI_SYS_ID}?sysparm_fields=sys_id,name,sys_class_name,device_type,manufacturer,model_id,firmware_version,ip_address,ot_zone,protocol,safety_critical,operational_status&sysparm_display_value=true

GET /api/now/table/cmdb_ci_ot_device?sysparm_query=ot_zone=[ZONE_VALUE]^location=[LOCATION_SYS_ID]&sysparm_fields=sys_id,name,device_type,manufacturer,ip_address,safety_critical,operational_status&sysparm_limit=50&sysparm_display_value=true
第 3 步:评估遏制状态

检索与遏制相关的工作备注和状态更新。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sys_journal_field
  query: element_id=[INCIDENT_SYS_ID]^element=work_notes^ORDERBYDESCsys_created_on
  fields: value,sys_created_on,sys_created_by
  limit: 30

使用 REST API:

GET /api/now/table/sys_journal_field?sysparm_query=element_id=[INCIDENT_SYS_ID]^element=work_notes^ORDERBYDESCsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=30
第 4 步:检查相关漏洞

识别与受影响设备相关的漏洞。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ot_vulnerability
  query: affected_ci=[AFFECTED_CI_SYS_ID]^ORDERBYDESCseverity
  fields: sys_id,number,short_description,severity,state,cve_id,risk_score,remediation_status,published_date,affected_ci
  limit: 10

使用 REST API:

GET /api/now/table/sn_ot_vulnerability?sysparm_query=affected_ci=[AFFECTED_CI_SYS_ID]^ORDERBYDESCseverity&sysparm_fields=sys_id,number,short_description,severity,state,cve_id,risk_score,remediation_status&sysparm_limit=10&sysparm_display_value=true
第 5 步:检查 SLA 和响应时间指标

检索事件的 SLA 状态。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: task_sla
  query: task=[INCIDENT_SYS_ID]
  fields: sys_id,sla,stage,has_breached,planned_end_time,percentage,business_percentage
  limit: 5

使用 REST API:

GET /api/now/table/task_sla?sysparm_query=task=[INCIDENT_SYS_ID]&sysparm_fields=sys_id,sla,stage,has_breached,planned_end_time,percentage,business_percentage&sysparm_limit=5&sysparm_display_value=true
第 6 步:检索相关事件

检查 OT 环境中是否存在关联事件或类似事件。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ot_incident
  query: ot_zone=[ZONE_VALUE]^sys_id!=[CURRENT_INCIDENT_SYS_ID]^opened_at>=javascript:gs.daysAgoStart(30)^ORDERBYDESCopened_at
  fields: sys_id,number,short_description,state,severity,category,opened_at,containment_status
  limit: 10

使用 REST API:

GET /api/now/table/sn_ot_incident?sysparm_query=ot_zone=[ZONE_VALUE]^sys_id!=[CURRENT_INCIDENT_SYS_ID]^opened_at>=javascript:gs.daysAgoStart(30)^ORDERBYDESCopened_at&sysparm_fields=number,short_description,state,severity,category,opened_at,containment_status&sysparm_limit=10&sysparm_display_value=true
第 7 步:撰写事件摘要

将所有数据整理成结构化的 OT 事件摘要:

=== OT INCIDENT SUMMARY ===
Incident: [number]
Title: [short_description]
Status: [state] | Priority: [priority] | Severity: [severity]
Opened: [opened_at] | Age: [duration]
Category: [category] / [subcategory]
Attack Vector: [attack_vector]

SAFETY IMPACT:
Safety Classification: [None/Low/Medium/High/Critical]
Personnel Risk: [assessment]
Environmental Risk: [assessment]
Process Safety: [assessment]
Safety Systems Status: [operational/degraded/offline]

AFFECTED ENVIRONMENT:
OT Zone: [ot_zone] (Purdue Level [level])
Facility: [location]
Primary Device: [device_name]
  Type: [device_type] | Make: [manufacturer] [model]
  Firmware: [firmware_version] | Protocol: [protocol]
  Safety Critical: [YES/NO]

DEVICE IMPACT INVENTORY:
| Device | Type | Zone | Safety Critical | Status |
|--------|------|------|----------------|--------|
| [name] | [type] | [zone] | [Y/N] | [operational/isolated/offline] |
| [name] | [type] | [zone] | [Y/N] | [operational/isolated/offline] |
Total Devices Affected: [count]

CONTAINMENT STATUS: [Contained/Partially/Not Contained]
Isolation Method: [network/physical/logical]
Containment Timeline:
- [timestamp]: [action taken]
- [timestamp]: [action taken]

VULNERABILITY CONTEXT:
| CVE | Severity | Risk Score | Remediation |
|-----|----------|-----------|-------------|
| [cve_id] | [severity] | [score] | [status] |

OPERATIONAL IMPACT:
Processes Affected: [list of industrial processes]
Production Impact: [none/partial/full shutdown]
Estimated Recovery: [timeframe]

ACTIVITY TIMELINE: (most recent first)
- [date] [user]: [summary]
- [date] [user]: [summary]

SLA STATUS:
Response SLA: [on-track/breached] | Due: [time]
Resolution SLA: [on-track/breached] | Due: [time]

RELATED INCIDENTS: [count] in same zone (last 30 days)
- [number]: [description] - [status]

REGULATORY CONSIDERATIONS:
- [applicable frameworks: NERC CIP, IEC 62443, NIST 800-82]
- [reporting obligations]
- [notification requirements]

工具使用

MCP 工具参考
工具适用场景
SN-Natural-Language-Search使用自然语言搜索(例如,“显示本周的严重 OT 事件”)
SN-Query-Table对事件、设备和漏洞进行结构化查询
SN-Get-Record按 sys_id 检索特定记录
REST API 参考
端点方法用途
/api/now/table/sn_ot_incidentGETOT 事件记录
/api/now/table/cmdb_ci_ot_deviceGETOT 设备清单
/api/now/table/sn_ot_vulnerabilityGETOT 漏洞数据
/api/now/table/sys_journal_fieldGET工作备注和时间线
/api/now/table/task_slaGETSLA 合规状态

最佳实践

  • 以安全为先: 在 OT 摘要中,始终先呈现安全影响评估,再介绍技术细节
  • 映射到 Purdue 层级: 标明受影响区域对应的 Purdue 模型层级,帮助相关方了解其网络位置
  • 区分 IT 与 OT 影响: 明确区分对 IT 网络的影响与对 OT 流程的影响
  • 注明设备固件版本: 固件版本对于 OT 漏洞评估和修复规划至关重要
  • 注明协议细节: 工业协议(Modbus、DNP3、OPC UA、EtherNet/IP)会影响遏制和修复方案
  • 跟踪安全系统状态: 始终报告安全仪表系统(SIS)、紧急停机系统(ESD)和消防系统的状态
  • 记录现场核实情况: 注明结论是基于远程监控,还是基于现场实地核实
  • 标明法规义务: 识别适用的监管框架及任何强制报告截止期限

故障排查

“OT 事件记录返回空结果”

原因: OT 事件表可能使用了不同名称,或是自定义扩展。 解决方案: 检查 sn_ot_incident、sn_si_incident(Security Incident)或自定义表。有些组织会将 OT 事件记录在标准 incident 表中,并通过类别筛选。

“缺少设备区域信息”

原因: CMDB 中可能未填写 OT 区域分类。 解决方案: 检查 ot_zone 或 network_zone 字段。有些实现使用自定义字段或基于位置的区域映射。请咨询 OT CMDB 管理员。

“没有安全影响字段”

原因: safety_impact 字段可能是基础 OT 插件中未包含的自定义字段。 解决方案: 检查 u_safety_impact、u_safety_classification 等类似自定义字段。查看工作备注,了解手动记录的安全相关评估。

“相关事件查询返回过多结果”

原因: 范围较广的区域查询可能匹配大量事件。 解决方案: 缩小日期范围、添加严重性筛选条件,或按特定类别/子类别筛选,以查找最相关的事件。

示例

示例 1:当前 OT 事件简报

场景: OT 安全分析师向工厂经理汇报一起影响制造生产线 PLC 的当前事件。

步骤 1 - 获取事件:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ot_incident
  query: number=OT0005678
  fields: sys_id,number,short_description,state,severity,safety_impact,ot_zone,containment_status,affected_ci,opened_at
  limit: 1

生成的摘要:

OT INCIDENT OT0005678 - ACTIVE
Unauthorized Firmware Modification on Line 3 PLCs
Status: In Progress | Severity: Critical
Opened: Mar 19, 2026 06:15 | Age: 4 hours

SAFETY IMPACT: MEDIUM
- No immediate personnel risk (manual overrides active)
- Process safety: Batch mixing ratios may be affected
- SIS and ESD systems: FULLY OPERATIONAL

AFFECTED DEVICES (Zone 2 - Process Control):
| Device | Type | Safety Critical | Status |
|--------|------|----------------|--------|
| PLC-L3-001 | Siemens S7-1500 | YES | Isolated |
| PLC-L3-002 | Siemens S7-1500 | YES | Isolated |
| HMI-L3-01 | Wonderware | NO | Monitoring |
Total: 3 devices | 2 isolated, 1 under monitoring

CONTAINMENT: CONTAINED
- 06:30: PLCs isolated from OT network
- 06:45: Manual process control engaged for Line 3
- 07:00: Network capture initiated for forensics

PRODUCTION IMPACT: Line 3 operating at 60% via manual control
ESTIMATED RECOVERY: 4-6 hours (pending firmware validation)

VULNERABILITY: CVE-2026-0987 (CVSS 8.1) - S7-1500 firmware
upload authentication bypass
示例 2:面向管理层的每周 OT 事件摘要

场景: OT 安全团队生成所有 OT 事件的每周摘要。

Tool: SN-Query-Table
Parameters:
  table_name: sn_ot_incident
  query: opened_at>=javascript:gs.daysAgoStart(7)^ORDERBYDESCseverity
  fields: number,short_description,severity,state,ot_zone,safety_impact,containment_status,opened_at
  limit: 20

输出:

OT INCIDENT WEEKLY SUMMARY (Mar 12-19, 2026)
Total Incidents: 6 | Critical: 1 | High: 2 | Medium: 3

CRITICAL:
- OT0005678: PLC firmware modification (Zone 2) - In Progress
  Safety: Medium | Contained | Line 3 at 60%

HIGH:
- OT0005671: Anomalous DNP3 traffic (Zone 1) - Resolved
  Safety: Low | False positive (monitoring tool config)
- OT0005675: HMI malware detection (Zone 3) - Resolved
  Safety: None | Isolated and reimaged

MEDIUM: 3 incidents (all resolved, no safety impact)

KEY METRICS:
- Avg containment time: 38 minutes
- SLA compliance: 100% (response), 83% (resolution)
- Safety incidents: 0
- Production impact: 1 partial (Line 3, 4 hours)

相关技能

  • otsm/ot-incident-resolution - 生成详细的 OT 事件解决说明
  • secops/incident-summarization - IT 安全事件摘要
  • secops/shift-handover - 安全运营交接班
  • itsm/major-incident - 重大事件管理流程

评论

支持 Markdown