首页/AI 工具
AI 工具2026年8月11日9 分钟阅读

OpenClaw 安全部署前检查:隔离、密钥、Skills 与回滚

OpenClaw 能读取文件、执行工具和连接消息渠道。安装前先缩小它能看到的文件、能运行的命令、能使用的凭证和出错后的影响范围。

OpenClaw 安全部署前检查:隔离、密钥、Skills 与回滚

我不会把 OpenClaw 的第一次安装放在主电脑

OpenClaw 能连接文件、Shell、浏览器、Skills、消息渠道和长期运行的 Gateway。第一次安装如果直接使用主账号、主目录和真实 Bot,任何配置错误都会同时碰到个人文件、凭证和外部消息。

所以这篇文章的起点不是安装命令,而是一台可以删除的环境、一份没有秘密的测试目录,以及四类能够单独撤销的凭证。

本轮没有在新虚拟机里完成一套隔离安装。下面的命令、配置字段和安全模型来自当前官方安装、Sandbox、Security 与 Audit 文档,不冒充本地跑通记录。真正部署时,还要补上自己的版本、日志、端口和边界测试。

这不是保守过头。一个能采取动作的 Agent,安全性必须由“它做不到什么”来证明。

风险从哪里开始

普通网页聊天通常只处理你主动提交的内容。

OpenClaw 可以把模型连接到:

  • 本地文件。
  • Shell 命令。
  • 浏览器。
  • Skills 与插件。
  • Telegram 等消息渠道。
  • API Key 与 OAuth 凭证。
  • 长期运行的 Gateway。

模型不仅能回答,还可能采取动作。一个错误提示、恶意网页或权限过大的 Skill,都可能把问题从一段错误文字放大成文件、账号或系统变化。

安全目标不是相信模型永远不会犯错,而是让一次错误只能影响一个小范围。

OpenClaw 的三个边界

Gateway 边界

Gateway 负责会话、工具与渠道连接。即使工具放进 Sandbox,Gateway 仍然在宿主环境运行。

因此“开启 Sandbox”不能自动证明整个系统已经完全隔离。

Tool 边界

官方 Sandbox 文档说明,exec、read、write、edit、apply_patch 和 process 等工具可以在隔离后端执行。

Sandbox 能显著降低影响范围,但官方也明确提醒:它不是完美安全边界。

Credential 边界

模型 API Key、消息渠道 Token、Gateway 密钥和系统登录凭证不是同一种秘密。

它们应该拥有不同权限、不同保存位置和不同撤销路径。不要为了方便,把所有凭证写进同一个配置文件并长期保留。

第一次部署不要放在主电脑裸环境

更稳的起点是:

  • 可删除的虚拟机。
  • 独立的低权限系统用户。
  • 没有私人文档的测试设备。
  • 限定挂载目录的容器环境。
  • 不连接生产账号的测试渠道。

隔离环境里只放一份无敏感信息的示例目录。确认 OpenClaw 能做什么以后,再逐项增加必要能力。

不要一开始挂载整个 Home 目录、SSH 目录、浏览器资料、云盘和真实项目。

安装前的十项检查

  1. 记录当前系统和芯片架构。
  2. 确认环境可以整体删除或恢复快照。
  3. 不使用主账号的长期 API Key。
  4. 不接入真实 Telegram 群和客户消息。
  5. 准备单独测试目录。
  6. 关闭不必要的公网入口。
  7. 明确谁能向 Agent 发消息。
  8. 记录安装前开放的端口。
  9. 准备卸载与撤销凭证清单。
  10. 保存官方文档核验日期。

截至 2026 年 8 月 11 日,官方安装页面列出的 Node 支持范围变化较快,应在安装当天重新查看,不要从旧教程复制版本。

先查看安装脚本准备做什么

官方提供 macOS、Linux、WSL 与 Windows 安装方式。脚本可以自动准备运行环境并启动 onboarding。

直接把远程脚本交给 Shell 很方便,也意味着你信任当前 URL 返回的内容。官方安装器支持 dry run,可以先查看计划:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --dry-run

如果准备安装但暂时不运行 onboarding,可以使用官方 no-onboard 选项:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard

上面是官方命令结构,不是本轮执行记录。安装时应再次核对官方页面。

安装后先验证三个层级

官方给出的基础检查包括:

openclaw --version
openclaw doctor
openclaw gateway status

它们分别证明:

  • CLI 可以被找到。
  • 配置能接受诊断。
  • Gateway 有可观察状态。

这仍然不等于模型、Sandbox、消息渠道和所有 Skills 已经安全。

第一次运行应继续验证:

  • 工具实际在哪个环境执行。
  • 测试目录之外能否读取。
  • 写入是否只发生在允许目录。
  • 网络是否能访问未授权目标。
  • 消息来自哪个账号和会话。
  • 日志是否打印凭证。

Sandbox 的推荐起点

官方配置允许控制 mode、scope 和 workspaceAccess。

对第一次测试,一个保守思路是:

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "all",
        "scope": "agent",
        "workspaceAccess": "none"
      }
    }
  }
}

这段配置表达的是:

  • 所有相关会话使用 Sandbox。
  • 不同 Agent 不共享同一 Sandbox。
  • 默认不把 Agent 工作区挂进 Sandbox。

如果任务必须读项目,可以先从只读开始:

workspaceAccess: ro

只有明确需要编辑时再考虑 rw。每扩大一次权限,都要增加一个对应验收。

配置键可能随版本变化,使用前以当前官方文档为准。

为什么 Sandbox 仍然不够

即使工具在容器里执行,仍要检查:

  • 容器挂载了哪些宿主目录。
  • 是否挂载 Docker Socket。
  • 网络能访问哪些域名。
  • Gateway 是否暴露公网。
  • 浏览器是否共享真实登录状态。
  • 凭证是否通过环境变量进入容器。
  • 多个用户是否共享同一会话。

官方安全文档指出,OpenClaw 的默认信任模型更接近单操作者个人助手,不应把一个实例直接当成不可信多用户隔离平台。

多人使用时,应考虑独立 Gateway、独立 OS 用户或独立主机,而不是只建不同聊天窗口。

Skills 要当成代码依赖审查

Skill 不是一段无害说明。它可能要求:

  • 运行命令。
  • 安装软件包。
  • 读取文件。
  • 调用外部 API。
  • 使用浏览器。
  • 写入配置。
  • 触发消息或发布。

启用前至少检查:

  1. 来源仓库和维护者。
  2. 最近更新时间。
  3. 安装脚本。
  4. 请求的文件范围。
  5. 请求的网络目标。
  6. 读取的环境变量。
  7. 是否拥有外部动作。
  8. 卸载后留下什么。

不使用的 Skill 直接不安装。已安装但暂时不需要的,禁用比“相信它不会被调用”更可靠。

Telegram 等消息渠道要单独建测试身份

消息渠道把外部输入送进 Agent,也让 Agent 的输出进入外部平台。

测试时:

  • 使用单独 Bot。
  • 不加入真实群。
  • 只允许自己的账号。
  • 不复用个人 Bot Token。
  • 把配对和授权记录下来。
  • 撤销 Token 的路径提前确认。
  • 不允许消息直接触发高风险命令。

“只有我知道机器人名字”不是访问控制。

凭证至少分成四类

模型凭证:决定可以调用什么模型和产生多少费用。

Gateway 凭证:决定谁能管理服务。

消息渠道凭证:决定谁能以 Bot 身份收发消息。

外部工具凭证:GitHub、邮箱、云服务等。

一类凭证泄露时,应该能单独撤销,不必把整套环境一起重建。

日志、截图和文章里不要出现完整值。示例只使用明显无效的占位符。

运行 Security Audit

官方提供只读安全审查与更深入探测:

openclaw security audit
openclaw security audit --deep

普通审查主要检查冷配置和文件系统;deep 模式会增加 Gateway 与插件相关探测。

不要未经理解直接执行自动修复。先保存报告,逐项确认它准备改变什么,再决定是否使用 fix。

安全审查通过也只是当前配置证据,不代表未来安装的新 Skill 和新渠道继续安全。

用五个恶意测试验证边界

在测试目录准备无敏感数据,观察 OpenClaw 能否:

  1. 读取测试目录外的文件。
  2. 写入未授权路径。
  3. 访问未允许域名。
  4. 从另一账号发送命令。
  5. 在日志里打印测试密钥。

预期结果应该是拒绝、请求批准或明确失败,而不是悄悄完成。

测试使用假的标记文本,不使用真实密码和生产 Key。

回滚计划要在安装前写

回滚至少包含:

  • 停止 Gateway。
  • 删除启动服务。
  • 卸载 OpenClaw。
  • 删除或归档测试配置。
  • 撤销模型 Key。
  • 撤销 Bot Token。
  • 删除测试虚拟机或容器。
  • 检查端口不再监听。
  • 检查没有残留后台进程。

官方安装文档提供更新、迁移和卸载入口。不要只删除一个 CLI 文件就假设服务已经停止。

接真实账号前,我会再过一遍这张表

至少要有这些证据:

  • 版本与安装来源已记录。
  • Gateway 只在预期位置监听。
  • Sandbox 实际启用。
  • 工作区权限从 none 或 ro 开始。
  • 测试目录之外无法读取或写入。
  • 只安装经过审查的 Skills。
  • 消息渠道只允许测试身份。
  • 凭证可以分别撤销。
  • Security Audit 报告已保存。
  • 卸载和恢复路径实际可执行。

等测试环境能明确拒绝越界读取、越界写入和陌生账号命令,再接第一项真实能力。不要先让 OpenClaw 接管主电脑,再期待后补的权限规则替你收拾现场。

SOURCE AND VERIFICATION

来源与核验边界

参考站页面只提供选题入口;安装要求、命令与安全边界以 OpenClaw 官方资料为准,不复用参考站配置、密钥、原图或安全统计。

核验状态:对照 OpenClaw 当前官方安装、Sandbox 与 Security 文档核验;本轮没有执行新的隔离安装,不声称运行结果,核验日期 2026-08-11。

ONE PRACTICAL NEXT STEP

把你的真实流程带过来

如果你已经知道目标,却不知道应该先改工具、流程还是内容,把当前步骤和失败证据发来。我会先帮你判断最短路径。

查看 Claude Code 官方入门

SEARCH THE FIELD NOTES

你卡在哪一步?

输入关键词后,会从标题、摘要、分类和标签中查找。