OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Formal Verification (Security Models)

这页说明书像一张“安全保证书”,它告诉我们OpenClaw这个系统有多安全。它用一种特别的“模型检查”方法,像玩一个“找错误”的游戏,来检查系统在遇到坏人时会不会出错。这页适合你想知道OpenClaw是怎么保护自己,或者想自己动手运行这些检查游戏的时候看。

五岁小孩版解释

这页讲的是OpenClaw的“形式化验证”,你可以把它想成是给系统做一次非常非常严格的“安全体检”。它不是检查真正的软件代码,而是用一个叫“模型”的简化版本来模拟系统,看看在各种情况下,坏人能不能钻到空子。这个体检报告会告诉我们系统在哪些方面是安全的,但也要记住,它检查的不是全部。

重要的事情要先知道:

  1. 这些“模型”是玩具版的系统,不是真的软件,所以玩具和真玩具之间可能会有点不一样。
  2. 这个检查游戏只在一定的“游戏地图”范围内玩,检查通过了(显示“绿色”),不代表在所有地方都安全。
  3. 有些检查结果,是假设我们正确地搭建了系统、正确地设置了规则才成立的。

如果你想自己玩这个“检查游戏”: 你需要先准备好游戏盘(模型),然后运行检查命令。就像这样:

  1. 准备游戏盘:打开电脑上的“终端”或“命令窗口”,输入 git clone https://github.com/vignesh07/openclaw-formal-models 来下载游戏。
  2. 进入游戏盘:输入 cd openclaw-formal-models 走进去。
  3. 运行游戏:输入 make <target> 来开始检查。这里的 <target> 就是下面要说的各种检查游戏的名字。运行前,你的电脑需要安装好 Java 11 或更新的版本。

现在,我们来玩几个具体的“检查游戏”: 这些游戏的名字都叫 make 后面加一个单词。有些游戏我们期待它通过(显示绿色),有些我们故意让它失败(显示红色),来证明我们的检查是有效的。

  1. 网关暴露检查:检查系统的大门(网关)是不是关好了,没有让坏人从外面直接进来。

    • 绿色游戏(应该通过):make gateway-exposure-v2make gateway-exposure-v2-protected
    • 红色游戏(应该失败):make gateway-exposure-v2-negative
  2. 节点运行管道检查:检查一个叫 nodes.run 的很厉害的功能,是不是被安全地锁起来了,需要得到允许才能用。

    • 绿色游戏:make nodes-pipelinemake approvals-token
    • 红色游戏:make nodes-pipeline-negativemake approvals-token-negative
  3. 配对存储检查:检查“配对”请求会不会太多,或者存得太久。

    • 绿色游戏:make pairingmake pairing-cap
    • 红色游戏:make pairing-negativemake pairing-cap-negative
  4. 入口门控检查:检查在群里,是不是必须@某人才能发特殊命令,坏人不能偷偷绕过。

    • 绿色游戏:make ingress-gating
    • 红色游戏:make ingress-gating-negative
  5. 路由/会话隔离检查:检查你和不同朋友的私聊,是不是分开的,不会混到一起。

    • 绿色游戏:make routing-isolation
    • 红色游戏:make routing-isolation-negative

还有更高级的检查游戏(v1++): 这些游戏检查更复杂的情况,比如很多人同时操作、网络消息重发等。

  1. 配对存储并发检查:检查很多人同时申请“配对”时,系统会不会数错人数,或者给同一个人创建了多个申请。

    • 绿色游戏:make pairing-race, make pairing-idempotency, make pairing-refresh, make pairing-refresh-race
    • 红色游戏:make pairing-race-negative, make pairing-idempotency-negative, make pairing-refresh-negative, make pairing-refresh-race-negative
  2. 入口追踪检查:检查一个从外面来的消息,在系统里变成很多个小任务时,它们是不是还属于同一个“家庭”(有相同的追踪ID),并且不会因为网络重发而被处理两次。

    • 绿色游戏:make ingress-trace, make ingress-trace2, make ingress-idempotency, make ingress-dedupe-fallback
    • 红色游戏:make ingress-trace-negative, make ingress-trace2-negative, make ingress-idempotency-negative, make ingress-dedupe-fallback-negative
  3. 路由优先级检查:检查私聊的规则,是不是先听每个聊天室自己的特殊规定,再听通用规定。只有明确设置了“身份链接”的朋友,私聊才会合并到一起。

    • 绿色游戏:make routing-precedencemake routing-identitylinks
    • 红色游戏:make routing-precedence-negativemake routing-identitylinks-negative