Performs cybersecurity assessments on power grid infrastructure: NERC CIP compliance verification, IEC 61850 protocol analysis, substation automation security, PMU networks, and threats like Industroyer/CrashOverride.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cybersecurity-skills-zh:performing-power-grid-cybersecurity-assessmentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- 根据NERC CIP要求对电力电网设施进行定期网络安全评估时
不适用于低于NERC注册门槛的非BES系统、无电网专项知识的通用OT评估(参见performing-ot-network-security-assessment),或无网络范围的发电设施物理安全评估。
识别并记录所有支持电网运营的网络系统,包括EMS、SCADA、变电站自动化和通信基础设施。
# 电力电网网络架构评估
facility_type: "区域输电组织控制中心"
ems_systems:
primary_ems:
vendor: "GE Grid Solutions"
product: "EMS/SCADA (原XA/21)"
functions:
- "状态估计"
- "自动发电控制(AGC)"
- "安全约束经济调度"
- "应急分析"
protocols:
- "ICCP/TASE.2(控制中心间)"
- "DNP3(变电站RTU轮询)"
- "IEC 60870-5-104(变电站轮询)"
backup_control_center:
location: "地理分散的备用站点"
sync_method: "实时数据库镜像"
switchover_time: "< 5分钟"
substation_automation:
count: 145
system_types:
- vendor: "ABB"
product: "RTU560"
protocol: "DNP3 over TCP/IP"
count: 85
- vendor: "SEL"
product: "SEL-3530 RTAC"
protocol: "IEC 61850 MMS + GOOSE"
count: 40
- vendor: "Siemens"
product: "SICAM A8000"
protocol: "IEC 60870-5-104"
count: 20
communications:
primary: "MPLS WAN(运营商提供)"
backup: "授权微波无线电"
last_mile: "光纤到变电站"
synchrophasor_network:
pmu_count: 75
pdc: "GE PDC(相量数据集中器)"
communication: "专用网络上的IEEE C37.118.2"
data_rate: "每秒30-60个采样"
评估基于IEC 61850的变电站自动化的协议安全性、访问控制和网络分段。
#!/usr/bin/env python3
"""电力电网变电站安全评估器。
评估基于IEC 61850的变电站自动化系统安全性,
包括GOOSE消息传递、MMS客户端/服务器和
网络架构。
"""
import json
import sys
from dataclasses import dataclass, field, asdict
from datetime import datetime
@dataclass
class SubstationFinding:
finding_id: str
severity: str
category: str
title: str
description: str
affected_systems: list
nerc_cip_ref: str
iec_62351_ref: str
remediation: str
class SubstationAssessment:
"""评估变电站自动化系统的网络安全。"""
def __init__(self, substation_name):
self.name = substation_name
self.findings = []
self.counter = 1
def assess_iec61850_security(self, config):
"""评估IEC 61850协议安全性。"""
# GOOSE消息认证
if not config.get("goose_authentication"):
self.findings.append(SubstationFinding(
finding_id=f"SUB-{self.counter:03d}",
severity="critical",
category="协议安全",
title="IEC 61850 GOOSE消息缺乏认证",
description=(
"用于IED间保护信令的GOOSE消息未经认证。"
"站点总线上的攻击者可以向断路器"
"注入虚假的跳闸/合闸命令。"
),
affected_systems=config.get("goose_publishers", []),
nerc_cip_ref="CIP-005-7 R1.5 — ESP内部通信",
iec_62351_ref="IEC 62351-6 — GOOSE/SV认证",
remediation=(
"使用数字签名实现IEC 62351-6 GOOSE认证。"
"临时措施:为GOOSE流量部署VLAN隔离。"
),
))
self.counter += 1
# MMS服务访问控制
if not config.get("mms_authentication"):
self.findings.append(SubstationFinding(
finding_id=f"SUB-{self.counter:03d}",
severity="high",
category="协议安全",
title="MMS客户端连接缺乏认证",
description=(
"连接到IED的MMS(制造消息规范)连接不需要"
"客户端认证。站点总线上的任何设备"
"都可以读/写IED配置并操作断路器。"
),
affected_systems=config.get("mms_servers", []),
nerc_cip_ref="CIP-007-6 R5 — 系统访问控制",
iec_62351_ref="IEC 62351-4 — MMS安全配置文件",
remediation="按照IEC 62351-4为MMS连接启用TLS。",
))
self.counter += 1
# 站点总线分段
if not config.get("station_bus_segmented"):
self.findings.append(SubstationFinding(
finding_id=f"SUB-{self.counter:03d}",
severity="high",
category="网络架构",
title="无分段的平坦站点总线网络",
description=(
"站点总线在单个VLAN上连接所有IED、HMI、"
"工程访问和WAN网关,没有分段。"
),
affected_systems=["所有站点总线设备"],
nerc_cip_ref="CIP-005-7 R1 — ESP边界",
iec_62351_ref="IEC 62351-10 — 安全架构",
remediation=(
"将站点总线分段为VLAN:保护IED、"
"测量IED、站点HMI和WAN网关。"
),
))
self.counter += 1
def assess_remote_access(self, config):
"""评估变电站的远程访问安全性。"""
if config.get("direct_vendor_access"):
self.findings.append(SubstationFinding(
finding_id=f"SUB-{self.counter:03d}",
severity="critical",
category="远程访问",
title="供应商无需MFA直接远程访问变电站",
description=(
"供应商支持可直接VPN访问变电站网络,"
"无需通过中间系统或要求MFA。"
),
affected_systems=["变电站WAN网关"],
nerc_cip_ref="CIP-005-7 R2 — 远程访问管理",
iec_62351_ref="IEC 62351-8 — 基于角色的访问控制",
remediation=(
"通过带MFA的企业跳板服务器路由供应商访问。"
"按CIP-005-7 R2.4实施会话记录。"
),
))
self.counter += 1
def generate_report(self):
"""生成变电站评估报告。"""
report = []
report.append("=" * 70)
report.append(f"变电站网络安全评估: {self.name}")
report.append(f"日期: {datetime.now().isoformat()}")
report.append("=" * 70)
for sev in ["critical", "high", "medium", "low"]:
findings = [f for f in self.findings if f.severity == sev]
if findings:
report.append(f"\n--- {sev.upper()} ({len(findings)}) ---")
for f in findings:
report.append(f" [{f.finding_id}] {f.title}")
report.append(f" {f.description[:100]}...")
report.append(f" NERC CIP: {f.nerc_cip_ref}")
report.append(f" 修复: {f.remediation[:80]}...")
return "\n".join(report)
if __name__ == "__main__":
assessment = SubstationAssessment("Alpha变电站 — 345kV")
assessment.assess_iec61850_security({
"goose_authentication": False,
"mms_authentication": False,
"station_bus_segmented": False,
"goose_publishers": ["SEL-411L-01", "SEL-411L-02", "SEL-487E-01"],
"mms_servers": ["SEL-3530-RTAC", "ABB-REF615-01"],
})
assessment.assess_remote_access({
"direct_vendor_access": True,
})
print(assessment.generate_report())
| 术语 | 定义 |
|---|---|
| IEC 61850 | 变电站通信网络和系统的国际标准,使用GOOSE进行保护信令,使用MMS进行SCADA数据传输 |
| GOOSE | 通用面向对象变电站事件(Generic Object Oriented Substation Event)——IED间快速点对点保护信令的多播协议(< 4ms跳闸时间) |
| MMS | 制造消息规范(Manufacturing Message Specification)——用于读写IED数据和操作断路器的客户端/服务器协议 |
| IEC 62351 | 电力系统通信协议安全标准系列,为IEC 61850、DNP3和IEC 104提供认证和加密 |
| ICCP/TASE.2 | 控制中心间通信协议(Inter-Control Center Communications Protocol),用于不同电力公司控制中心之间的数据交换 |
| 同步相量(PMU) | 相量测量单元(Phasor Measurement Unit),以每秒30-60个采样的频率提供时间同步的电压/电流测量,用于广域监测 |
电力电网网络安全评估报告
=============================================
设施: [名称和类型]
NERC注册: [实体ID]
BES影响评级: [高/中/低]
变电站发现: [N]
EMS/SCADA发现: [N]
通信发现: [N]
NERC CIP合规性:
CIP-002: [状态]
CIP-005: [状态]
CIP-007: [状态]
npx claudepluginhub killvxk/cybersecurity-skills-zhConducts cybersecurity assessments of power grid infrastructure including NERC CIP compliance, IEC 61850 protocol analysis, PMU network security, and threats like Industroyer.
Conducts cybersecurity assessments of electric power grid infrastructure: EMS/SCADA, substation automation, NERC CIP compliance, and IEC 61850/PMU security.
Conducts cybersecurity assessments of electric power grid infrastructure: EMS/SCADA, substation automation, NERC CIP compliance, and IEC 61850/PMU security.