OpenClaw 是一款可以在用户真实机器上读写文件、执行命令、安装插件、访问网络的 AI 个人助手助手。这样的能力容易被描述为"危险的",但 OpenClaw 团队认为强大不等于盲目、不等于无边界、更不等于无法审计。近日,OpenClaw 官方发布了安全路线图,阐述了他们正在和即将实施的多层安全机制。

文件系统安全是第一个战场。OpenClaw 运行在用户的本地机器上,理论上可以访问文档、代码库和照片。路径穿越是最常见的文件系统风险,但实际上这只是更大类问题的一个症状:代码以为自己在某个目录根下写入,但 symlink、绝对路径、压缩包解压或松散的路径拼接会导致越界写入。OpenClaw 内部已经发展出一套 fs-safe 模式,将安全文件系统模式提取为共享库,供核心代码、插件和相邻服务使用。这不是沙箱——允许运行任意 shell 命令的插件仍然可以做任意事情,但 fs-safe 可以在文件系统代码中防止边界穿越 bug。下一个目标是让 ClawHub 上的插件也将这些原语作为预期模式使用。

网络出口安全是第二个战场。在普通 Web 服务中,用户控制的 URL 是例外;在 Agent 运行时中,用户控制或模型影响的 URL 是正常产品行为。"因为有人或什么东西要求获取这个 URL"是正常的工作。OpenClaw 最初采用了验证 URL 的方法,但这不够——验证时 DNS 解析一次,获取时 DNS 再解析一次,两者之间答案可能发生变化。解决方案是将控制点移近出口。Proxyline 是 OpenClaw 的 Node 进程路由层,在 Node 网络表面安装进程级路由,并将流量发送到用户配置的代理。配置的代理才是连接时策略应该存在的地方:阻止元数据地址、私有地址段、环回检测地址,以及环境需要的任何其他阻止项。Proxyline 路由,代理执行。

插件信任体系是第三个战场。ClawHub 必须成为插件信任和来源的权威。当插件来自 ClawHub 时,OpenClaw 应在安装和更新期间使用这些信号,而不是仅依赖事后本地检查。ClawHub 的管道混合了多种信号:ClawScan、VirusTotal、静态分析、元数据检查、来源追溯和人工审核。这些信号可以为特定版本附加信任证据,表明这个版本是干净的、可疑的、待审核的、隔离的、撤销的或恶意的。它可以阻止恶意或隔离版本的下载。它可以向用户显示更改内容和原因。

命令审批的 prompt 疲劳是第四个问题。Prompts 来得太快,没人能读完。几分钟后用户就会打开 YOLO 模式让工作继续,此时 prompts 已经在训练用户停止阅读。解决方案是更少的 prompts、更好的 prompts。准确性从解析开始——字符串匹配不够。如果 allowlist 或 blocklist 只看到外层命令,包装器就成为绕过途径。OpenClaw 的 shell 审批路径现在评估内部命令链中常见的 shell -c 包装器。如果内部链包含不允许的可执行文件,包装器不应该使其安全。命令高亮器还使用 Tree-sitter 来显示 OpenClaw 在包装器内找到的内容。

静态分析是第五个领域。OpenClaw 收到过大量 GitHub 安全公告。第一个工作是堵住漏洞。下一个工作是确保同一类 bug 不会卷土重来。公告是关于一个 bug 类的证据,而不仅仅是一个 bug。分类后的关键是:能找到所有看起来像这个 bug 的代码吗?

OpenClaw 为此使用 OpenGrep 和精确的规则包。每个规则都绑定到一个公告、报告或审查发现。基线目标是回归检测:如果相同的漏洞形式回来,CI 在审查之前捕获它。更好的目标是变体检测:捕获相同错误的附近版本。当前检查的精确 OpenGrep 规则包有 148 条规则,在 PR diff 上运行,全量扫描可以手动运行。
来源:OpenClaw Blog (https://openclaw.ai/blog/where-openclaw-security-is-heading)