安全
形 式化验证(安全模型)
本页面跟踪 OpenClaw 的形式化安全模型(目前为 TLA+/TLC;未来视需要增加)。
注意:一些旧链接可能引用之前的项目名称。
目标(北极星): 在明确的假设下,提供机器可检查的论证,证明 OpenClaw 强制执行其预期的安全策略(授权、会话隔离、工具门控和配置错误安全)。当前状态: 一个可执行的、攻击者驱动的安全回归测试套件:
- 每个声明都有一个在有限状态空间上可运行的模型检查。
- 许多声明配有一个负面模型,用于为现实的缺陷类别生成反例轨迹。
目前尚不是: 一个证明“OpenClaw 在所有方面都是安全的”或完整的 TypeScript 实现是正确的。
模型存放位置
模型维护在单独的代码仓库中:vignesh07/openclaw-formal-models。
重要注意事项
- 这些是模型,而非完整的 TypeScript 实现。模型与代码之间可能存在差异。
- 结果受 TLC 探索的状态空间限制;“绿色”并不意味着超出建模假设和边界的安全性。
- 一些声明依赖于明确的环境假设(例如,正确的部署、正确的配置输入)。
复现结果
目前,通过克隆模型仓库到本地并运行 TLC 来复现结果(见下文)。未来的迭代可能提供:
- 通过 CI 运行的模型及公共产物(反例轨迹、运行日志)
- 用于小型、有边界检查的托管“运行此模型”工作流
开始使用:
git clone https://github.com/vignesh07/openclaw-formal-models
cd openclaw-formal-models
# 需要 Java 11+(TLC 运行在 JVM 上)。
# 该仓库提供了固定的 `tla2tools.jar`(TLA+ 工具)以及 `bin/tlc` 和 Make 目标。
make <target>