mcpField
O
ot-incident-resolution

ot-incident-resolution

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

关于 ot-incident-resolution

该技能为 ServiceNow 中的 OT 安全事件提供结构化处置记录方法,面向 OT 安全分析人员。它将安全影响、受影响设备、遏制措施和修复验证纳入解决备注。

主要功能

  1. 01汇总 OT 事件与设备信息
  2. 02记录安全影响和物理后果
  3. 03追踪遏制措施及相关漏洞
  4. 04纳入修复安全检查点
  5. 05生成审计和合规所需备注

适用场景

  1. 01记录 ICS 或 SCADA 安全事件处置
  2. 02核查受影响设备及 OT 网络区域
  3. 03整理修复与安全验证记录

MCP 相关

说明使用 ServiceNow MCP 工具查询事件、设备、漏洞、工作记录和变更请求,并据此整理解决备注。

安装

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

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

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

详细介绍

OT 事件处置

概述

此技能提供了一套结构化方法,用于在 ServiceNow 中编写运营技术(OT)事件的处置备注。由于工业控制系统(ICS)、SCADA 系统和运营技术环境具有安全关键性,且网络物理层面的后果可能影响人身安全和关键基础设施,因此 OT 事件需要经过专门处理。

主要功能:

  • 记录针对 OT/ICS 环境采取的事件遏制措施
  • 记录安全影响评估和物理后果分析
  • 记录修复步骤及安全验证检查点
  • 跟踪受影响的 OT 设备、区域和网络分段
  • 生成满足法规和审计要求的处置备注
  • 确保在整个处置周期中记录运营安全规程

适用场景: 处置 OT 安全事件、ICS 异常、SCADA 系统警报,或任何影响运营技术环境的事件时,尤其是在安全和运营连续性至关重要的情况下。

先决条件

  • 角色: sn_ot_admin、sn_ot_analyst、sn_si_analyst,或具有 OT 范围访问权限的 itil
  • 访问权限: 对 sn_ot_incident、sn_ot_vulnerability、cmdb_ci_ot_device 和 sys_journal_field 表具有读写权限
  • 插件: Operational Technology (com.snc.ot) 和 Security Incident Response (com.snc.si) 必须处于启用状态
  • 知识: 了解 ICS/SCADA 系统、Purdue 模型网络分段和工业安全规程

操作步骤

步骤 1:获取 OT 事件详情

获取包含所有分类和影响字段的 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,resolved_at,affected_ci,cmdb_ci,location,impact,urgency,business_impact,safety_impact,ot_zone,attack_vector,containment_status,resolution_code,resolution_notes,close_notes

按编号搜索时:

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,affected_ci,cmdb_ci,location,impact,safety_impact,ot_zone,attack_vector,containment_status
  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,affected_ci,cmdb_ci,location,impact,safety_impact,ot_zone,attack_vector,containment_status&sysparm_limit=1&sysparm_display_value=true
步骤 2:获取受影响的 OT 设备

识别受事件影响的所有 OT 设备。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_ot_device
  query: sys_id=[AFFECTED_CI_SYS_ID]
  fields: sys_id,name,sys_class_name,device_type,manufacturer,model_id,firmware_version,ip_address,mac_address,location,operational_status,install_status,ot_zone,protocol,serial_number,asset_tag,support_group,safety_critical
  limit: 1

获取受影响区域中的所有设备:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_ot_device
  query: ot_zone=[ZONE_VALUE]^operational_status=1
  fields: sys_id,name,device_type,manufacturer,ip_address,ot_zone,safety_critical,operational_status
  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&sysparm_display_value=true

GET /api/now/table/cmdb_ci_ot_device?sysparm_query=ot_zone=[ZONE_VALUE]^operational_status=1&sysparm_fields=sys_id,name,device_type,manufacturer,ip_address,safety_critical&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^valueLIKEsafety^ORDERBYDESCsys_created_on
  fields: value,sys_created_on,sys_created_by
  limit: 20

使用 REST API:

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

检查该事件是否与已知 OT 漏洞相关。

使用 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,affected_ci,risk_score,remediation_status,published_date,vendor_advisory
  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,vendor_advisory&sysparm_limit=10&sysparm_display_value=true
步骤 5:记录遏制措施

记录为隔离威胁而采取的遏制措施。

使用 MCP:

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

使用 REST API:

GET /api/now/table/sys_journal_field?sysparm_query=element_id=[INCIDENT_SYS_ID]^element=work_notes^valueLIKEcontainment^ORDERBYsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=20
步骤 6:检查相关变更请求

识别为修复活动创建的任何变更请求。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: parent=[INCIDENT_SYS_ID]^ORcorrelation_id=[INCIDENT_NUMBER]
  fields: sys_id,number,short_description,state,type,risk,category,assigned_to,start_date,end_date,approval
  limit: 10

使用 REST API:

GET /api/now/table/change_request?sysparm_query=parent=[INCIDENT_SYS_ID]^ORcorrelation_id=[INCIDENT_NUMBER]&sysparm_fields=sys_id,number,short_description,state,type,risk,category,assigned_to,start_date,end_date,approval&sysparm_limit=10&sysparm_display_value=true
步骤 7:编写处置备注

整理完整的处置文档:

=== OT INCIDENT RESOLUTION NOTES ===
Incident: [number] | Priority: [priority] | Severity: [severity]
Category: [category] / [subcategory]
Opened: [opened_at] | Resolved: [resolved_at]
Duration: [resolution_duration]

AFFECTED ENVIRONMENT:
OT Zone: [ot_zone] (Purdue Level [level])
Primary Device: [device_name] ([device_type])
  Manufacturer: [manufacturer] | Firmware: [firmware_version]
  Protocol: [protocol] | IP: [ip_address]
  Safety Critical: [YES/NO]
Additional Affected Devices: [count]

SAFETY IMPACT ASSESSMENT:
Physical Safety Risk: [None/Low/Medium/High/Critical]
Personnel Hazard: [description]
Environmental Impact: [description]
Process Safety Impact: [description]
Safety Systems Affected: [SIS/ESD/fire suppression status]

INCIDENT SUMMARY:
[description of what occurred, attack vector, initial detection]

CONTAINMENT ACTIONS:
1. [timestamp] - [action taken] - [performed by]
2. [timestamp] - [action taken] - [performed by]
3. [timestamp] - [action taken] - [performed by]
Containment Status: [Contained/Partially Contained/Not Contained]

ROOT CAUSE:
[root cause analysis findings]
Related Vulnerability: [CVE if applicable]

REMEDIATION STEPS:
1. [step] - Status: [Complete/Pending]
   Safety Validation: [validation performed]
2. [step] - Status: [Complete/Pending]
   Safety Validation: [validation performed]

CHANGE REQUESTS:
- [CHG number]: [description] - [status]

POST-RESOLUTION VERIFICATION:
[ ] Device operational status restored
[ ] Safety systems verified functional
[ ] Network segmentation confirmed
[ ] Monitoring alerts re-enabled
[ ] Operations team sign-off obtained
[ ] Regulatory notification completed (if required)

LESSONS LEARNED:
- [observation and recommendation]
- [process improvement suggestion]

工具用法

MCP 工具参考
工具使用场景
SN-Natural-Language-Search使用自然语言搜索(例如,“查找 Zone 3 中的严重 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/sn_si_incidentGET安全事件关联
/api/now/table/sys_journal_fieldGET工作备注和活动记录
/api/now/table/change_requestGET相关变更请求

最佳实践

  • 安全第一: 在技术修复细节之前,务必记录安全影响评估
  • 未经变更控制,切勿打补丁: OT 环境要求正式的变更管理,即使是安全补丁也不例外
  • 保留取证证据: 在遏制措施改变证据之前,记录设备状态并保存网络捕获数据
  • 与运营团队协调: OT 事件响应必须有工厂/运营人员参与,而不仅仅是 IT 安全人员
  • 遵循 Purdue 模型边界: 记录受影响的网络区域,并确保遏制措施遵循区域分段
  • 验证安全系统: 修复后,明确验证安全仪表系统(SIS)和紧急停车(ESD)系统均正常运行
  • 记录法规要求: 注明任何强制报告义务(NERC CIP、IEC 62443、NIST SP 800-82)
  • 包括现场验证: OT 事件的解决通常需要现场实地验证,而不能仅依靠远程确认

故障排除

“OT 事件表不可用”

原因: 未安装或未启用 Operational Technology 插件。 解决方案: 确认 com.snc.ot 插件已启用。检查实例是否已获 OT 模块许可。该表可能是 sn_ot_incident,也可能是自定义扩展。

“设备记录缺少 OT 专属字段”

原因: OT 设备可能存储在没有 OT 扩展的基础 CMDB 类中。 解决方案: 检查 cmdb_ci_ot_device 及其子类(cmdb_ci_ot_plc、cmdb_ci_ot_rtu、cmdb_ci_ot_hmi)。有些组织会为 OT 设备使用自定义类。

“找不到相关漏洞”

原因: OT 漏洞数据可能尚未同步,或者 affected_ci 引用使用了不同的字段。 解决方案: 尝试按设备名称或 IP 地址查询 sn_ot_vulnerability,而不是使用 sys_id。检查漏洞数据是否从第三方 OT 安全工具导入。

“安全影响字段为空”

原因: 自定义安全评估字段可能未填写,或者组织使用了单独的安全管理系统。 解决方案: 检查工作备注中是否有安全相关条目。查看风险或安全管理表中的任何关联记录。请安全主管查阅手动评估文档。

示例

示例 1:PLC 固件漏洞利用事件的处置

场景: 制造工厂中的一台可编程逻辑控制器(PLC)通过已知固件漏洞遭到入侵。

步骤 1 - 获取事件:

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

处置备注:

OT INCIDENT OT0004521 - RESOLVED
PLC Firmware Exploitation - Siemens S7-1500 (Zone 2)
Severity: High | Safety Impact: Medium
Duration: 8 hours | Containment: 45 minutes

AFFECTED DEVICE:
Siemens S7-1500 PLC | FW: V2.8.3 (vulnerable)
Zone 2 - Process Control | Safety Critical: YES
Controls: Batch mixing process Line 4

SAFETY ASSESSMENT:
- No personnel safety incident occurred
- Process was safely shut down via manual override
- SIS remained fully operational throughout
- No environmental release detected

CONTAINMENT:
1. 08:15 - Isolated PLC from OT network at Zone 2 switch
2. 08:30 - Engaged manual process control for Line 4
3. 08:45 - Confirmed no lateral movement to other PLCs
4. 09:00 - Preserved PLC memory dump for forensics

REMEDIATION:
1. Applied firmware update V2.9.1 (CVE-2026-1234 fix) - COMPLETE
2. Reset all PLC credentials and certificates - COMPLETE
3. Updated firewall rules at Zone 2/3 boundary - COMPLETE
4. Verified PLC logic integrity against golden image - COMPLETE
5. Restored automated process control - COMPLETE
6. Operations sign-off obtained - COMPLETE

CHANGE REQUEST: CHG0098765 - Emergency firmware update
示例 2:SCADA 网络异常事件的处置

场景: 在 SCADA 通信信道上检测到异常网络流量。

OT INCIDENT OT0004533 - RESOLVED
Anomalous Modbus Traffic on SCADA Network
Severity: Critical | Safety Impact: Low (monitoring only)
Duration: 12 hours

AFFECTED: 3 RTUs in Zone 1 (Water Treatment Facility)
Root Cause: Misconfigured network monitoring tool generating
excessive Modbus polling requests

CONTAINMENT: Disabled monitoring tool polling, verified RTU
operation unaffected.

REMEDIATION: Reconfigured monitoring tool with correct polling
intervals. Added Modbus traffic rate limiting at Zone 1 firewall.

LESSONS LEARNED: Network monitoring tools in OT environments
must be validated against OT protocol specifications before
deployment to prevent false positives and operational disruption.

相关技能

  • otsm/ot-incident-summarization - 总结 OT 事件,并提供设备和安全背景信息
  • secops/incident-summarization - 总结 IT 安全事件
  • secops/post-incident-analysis - 事件后审查与分析
  • itsm/change-management - OT 修复活动的变更管理

评论

支持 Markdown