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. 06SLAと対応時間指標の追加

活用シーン

  1. 01進行中のOTインシデントを管理層に報告
  2. 02安全レビュー用のインシデント情報整理
  3. 03OTセキュリティの引き継ぎ記録作成
  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 インシデントの要約

概要

このスキルは、OT セキュリティアナリスト、プラントマネージャー、安全管理責任者向けに、ServiceNow のオペレーショナルテクノロジー(OT)インシデントの包括的な要約を作成します。OT インシデントの要約は、物理的な安全への影響、影響を受けた産業プロセス、OT ゾーン全体のデバイスインベントリ、規制当局への報告要件に対応する必要があるため、IT インシデントの要約とは異なります。

主な機能:

  • 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 テーブルへの読み取りアクセス
  • プラグイン: Operational Technology (com.snc.ot) が有効であること
  • 知識: OT/ICS 環境、Purdue モデルアーキテクチャ、産業安全の概念に精通していること

手順

ステップ 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-Recordsys_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 Model レベルを示し、関係者がネットワーク上の位置を理解できるようにします
  • IT と OT への影響を区別する: IT ネットワークへの影響と OT プロセスへの影響を明確に分けます
  • デバイスのファームウェアバージョンを記載する: ファームウェアバージョンは、OT の脆弱性評価と修復計画に不可欠です
  • プロトコル固有の事項を記載する: 産業用プロトコル(Modbus、DNP3、OPC UA、EtherNet/IP)は、封じ込めや修復の方法に影響します
  • 安全システムの状態を追跡する: Safety Instrumented Systems(SIS)、Emergency Shutdown(ESD)、および消火システムの状態を必ず報告します
  • 物理的な確認を記録する: 結論がリモート監視に基づくのか、現地での物理的な確認に基づくのかを記載します
  • 規制上の義務を明示する: 適用される規制の枠組みと、報告が義務付けられている期限を特定します

トラブルシューティング

「OT インシデントレコードの検索結果が空です」

原因: OT インシデントテーブルの名前が異なるか、カスタム拡張テーブルである可能性があります。 解決策: sn_ot_incident、sn_si_incident(Security Incident)、またはカスタムテーブルを確認してください。組織によっては、標準の incident テーブルでカテゴリーフィルターを使用して OT インシデントを追跡しています。

「デバイスのゾーン情報がありません」

原因: OT ゾーンの分類が CMDB に登録されていない可能性があります。 解決策: 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 - 重大インシデント管理手順

コメント