开发者生态
morning
OpenClaw 安全的发展方向
2026-05-17
1 阅读
paulofeliciano
我们的目标是让 OpenClaw 成为运行强大的人工智能个人助理的值得信赖的方式。 OpenClaw 可以读取文件、运行命令、安装插件、与网络通信以及为真实用户在真实机器上执行操作。这样的力量很容易被形容为危险。这种担忧是公平的。强大并不一定意味着盲目、无限制或无法审计。其中一些已经落地。有些正在推出。有些仍在飞行中。有些是研究。我想弄清楚其中的区别,因为模糊这些界限的帖子会误导读者。文件系统边界和 fs 安全 OpenClaw 在您的计算机上运行。这意味着它可以接触您的文档、代码库和照片。人们通常首先遇到的文件系统风险是路径遍历。这种风险是真实存在的,但这也只是一大类错误的一个症状:界限不明确。代码认为它是在一个根内部写入的,然后符号链接、绝对路径、存档提取或草率连接使其跨越另一个根。 fs-safe 是这个问题的一个答案。它是 OpenClaw 已经不断发展的一组安全文件系统模式,被拉入共享库,以便核心代码、插件和相邻服务可以使用相同的根边界原语。它不是沙箱。允许运行任意 shell 命令的插件仍然可以执行任意 shell 命令的操作。 fs-safe 可防止文件系统代码中出现跨边界错误。在插件工作区中编写应该可以。该工作区之外的遍历和绝对路径写入应该会失败。插件作者不必重新实现这些检查。在插件工作区中写入成功。遍历和绝对路径写入将被视为“外部工作空间”而被拒绝。下一步是使这些原语也成为 ClawHub 上插件的预期模式。绕过它们并不一定是恶意的,但它与安全相关。随着时间的推移,这种选择应该会影响插件的信任状态。最安全的文件系统调用仍然是我们不进行的调用。这就是正在进行的 SQLite 运行时状态重构背后的安全动机。会话、成绩单、调度程序状态和插件状态属于具有明确所有权和事务的类型化数据库,而不是松散的文件。将运行时状态移至 SQLite 会从运行时路径中删除整个文件系统访问类别。网络出口和 Proxyline Agentic 系统使 SSRF 比普通 Web 服务更困难。在正常服务中,用户控制的 URL 通常是例外。在代理运行时中,用户控制或模型影响的 URL 是正常的产品行为。 “因为某人或某物请求而获取此 URL”是正常工作。我们从显而易见的方法开始:在获取 URL 之前验证它。这还不够。验证解析 DNS,获取再次解析 DNS,并且答案可以在两者之间改变。在验证期间指向公共 IP 的主机可以在请求离开时指向元数据端点。修复必须靠近出口。 Proxyline 是我们的节点进程路由层。它为节点网络表面安装进程全局路由,并通过您配置的代理发送流量。配置的代理是连接时策略应该存在的位置:阻止元数据地址、私有范围、环回金丝雀以及您的环境需要阻止的任何其他内容。代理线路。代理强制执行。它还为操作员提供了可观察性。如果您已经运行托管代理,您可以通过它路由 OpenClaw,并监视来自您已经信任的基础设施的目的地、费率和阻止的尝试。 Proxyline 并不是一个围绕每个可能字节的完美笼子。原始套接字、本机模块、异常传输、早期捕获代理和非 OpenClaw 子进程仍然可以绕过节点级护栏。但对于普通的 OpenClaw 网络路径,将控制点从“记住验证此 URL 的包装器”移动到“通过代理策略的出口流”是一个更好的形状。验证路径很简单:example.com 应该通过,环回金丝雀应该失败,而 openclaw 代理验证应该证明配置的路由的行为是这样的。本地过滤代理允许 example.com ,阻止环回金丝雀,并且 openclaw 代理验证通过。 ClawHub 上的插件信任 当插件来自 ClawHub 时,ClawHub 必须是插件信任和来源的权威。 OpenClaw 应该在安装和更新期间消耗这些信号,而不是事后仅依赖本地检查。 ClawHub 管道混合了信号:ClawScan、VirusTotal、静态分析、元数据检查、源出处和手动审核。这些都不是魔法。扫描仪以不同的方式产生噪音,而对所有事情都尖叫的管道会教会用户忽略它。这就是 ClawHub 可以做本地安装流程无法做的事情的地方。它可以将信任证据附加到特定的软件包版本。它可以说此版本是干净的、可疑的、保留的、隔离的、撤销的或恶意的。它可以阻挡道琼斯