用途:对现有 PLC 代码做结构化、多视角的安全与质量分析,生成按严重性排序的发现报告。与 tia-openness-roadmap 相互独立,不负责工程自动化,只做分析与评审;代码可来自 Openness/VCI 导出或用户粘贴。
主要能力与工作流:按顺序执行多个分析视角——过程架构(物理合理性与过程上下文)、安全实践(Top 20 Secure PLC Coding Practices 与通信加固)、威胁映射(MITRE ATT&CK for ICS)、编译器批评(西门子平台缺陷、CWE 内存安全、安全边界)、硬件评审(硬件配置、访问设置、网络安全),最后做验证综合。按视角引用对应参考文件逐项检查,输出严重性、类别标签、位置、证据、推断级别、描述、影响、修复和验证要求;合并去重后按严重性排序。严重性分为 CRITICAL、HIGH、MEDIUM、LOW、INFO。
输入识别:支持三种格式——原始 SCL/Structured Text;SIMATIC SD 源文档(.s7dcl 配合 .s7res,V21);SimaticML XML(导出 LAD/FBD/SCL)。XML 分析需从 FlgNet 图重建逻辑(Part 为节点、Wire 为边,沿电源轨→触点链→线圈/函数),并依据已安装 V21 模式校验,不要假设旧版本模式。
限制:缺少声明、UDT、调用路径、变量表或硬件映射时只能做有限评审,报告须含上下文清单并将受影响发现标记为基于推断;无硬件配置时硬件评审只产出一条信息级发现,说明无法进行 PUT/GET 访问状态、Web 服务器设置、通信协议安全等检查。不得编造发现或变量名;SIMATIC SD 是源表示而非运行时证据,导出成功不代表编译、下载或 PLC 行为成功;生成代码未经编译与工程验证不得视为可部署。所有发现必须来源可追溯。