什么是 EvidencePack?

在高安全工程任务中,“系统跑通了”不是充分的安全证明——你需要能回答审计人员的问题:这次任务满足了哪些形式化约束?最危险的时刻鲁棒度是多少?判定是谁做出的、依据是什么?EvidencePack 就是为了让这些问题有机器可读的答案而设计的。

六元组定义

{P,  A,  xact,  φ,  ρ,  v}\{P,\; A,\; x_{act},\; \varphi,\; \rho^*,\; v\}

六个字段:

  • P(Proposal):任务提案——自然语言工单经 LLM 解析后的结构化任务描述
  • A(ActionPlan):HTN 分解后的完整行动计划,包含所有原子动作和前置条件
  • xactx_{act}:实际执行轨迹的时间序列记录,由 EKF 状态估计器输出
  • φ\varphi:本次任务的 STL 形式化规约——什么条件必须在什么时间窗口内满足
  • ρ\rho^*:全任务周期内 STL 鲁棒度 ρ(t)\rho(t) 的最小值,衡量约束满足的”余量”
  • v(verdict):自动判定结果,PASS(ρ>0\rho^* > 0)或 FAIL(ρ0\rho^* \leq 0

为什么这六个字段放在一起才构成完整的证据

P 和 A 说明”计划是什么”,xactx_{act} 说明”实际发生了什么”,φ\varphi 说明”应该满足的约束是什么”,ρ\rho^* 说明”约束满足的程度如何”,v 给出最终判定。

缺少任何一个字段,审计都是不完整的——比如没有 φ\varphi,就无法知道 ρ\rho^* 是对哪个约束的度量;没有 xactx_{act},就无法验证 ρ\rho^* 是否从真实轨迹计算得来,而不是事后伪造的。六元组的完整性是 EvidencePack 法证价值的基础。

核心价值:从运行时数字到可持久化证据

STL 鲁棒度 ρ(t)\rho(t) 是 Spine 层在线计算的实时数字,任务结束后默认消失。EvidencePack 把它持久化为结构化记录,写入 Firestore,与任务提案和行动计划一起归档。

审计人员无需重跑仿真,无需理解底层控制代码,只需检查六元组:ρ>0\rho^* > 0 且 v = PASS,则该次任务在形式化层面合规。这是 EICPS 区别于”系统看起来没有出问题”的工程创新——安全声明不靠人工判断,靠可自动检验的证据

局限需要说清楚

EvidencePack 的有效性以传感器数据质量为前提。若 xactx_{act} 的记录因传感器故障或强电磁干扰(输电线路检修场景中确实存在)而失真,基于此生成的 ρ\rho^* 和 v 在事后审计时可能误判。

EvidencePack 是可自动生成的法证记录,不是独立于物理世界的绝对真相证明。它的可信度依赖整个数据采集链的可靠性,后者是独立的工程保障问题。

集成框架·验证方法 · 场景验证 · EvidencePack 协议