🐾 如何安全运行 OpenClaw:用 OpenShell 沙盒防止 AI Agent 搞砸你的电脑

🐾 如何安全运行 OpenClaw:用 OpenShell 沙盒防止 AI Agent 搞砸你的电脑

OpenClaw 确实很强大,但你能确定它没有在偷偷读取敏感文件、乱调用 API,或者在你毫不知情的情况下用了你的 credentials 吗?

🛡️ 解决方案:NVIDIA OpenShell

OpenShell 是 NVIDIA 在 GTC 2026 上刚刚发布的开源运行时,专门为自主 AI Agent 打造安全沙盒。简单来说,它为 OpenClaw 搭建了一个"密室",让它在里面工作,但碰不到任何你没有允许的东西。所有规则都用易读、易改的 YAML 文件来声明。

🛠️ 第一步:安装 OpenShell CLI

你的电脑只需要运行着 Docker Desktop 即可。打开终端执行:curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh。如果你用 uv,也可以从 PyPI 安装:uv tool install -U openshell。输入 openshell --help 检查是否安装成功。

🚀 第二步:为 OpenClaw 创建沙盒

OpenClaw 已经收录在 OpenShell 的 Community catalog 里,也就是说沙盒定义已经打包好了容器镜像、默认策略和 skills。你只需要一条命令:openshell sandbox create --from openclaw。--from 参数会自动拉取所有内容并初始化一个隔离沙盒。完全不用装 Kubernetes,因为 OpenShell 直接在 Docker 容器里跑了一个 K3s 集群。沙盒里已经预装了 Python 3.13、Node 22、git、vim 以及开发者需要的各种工具。

📝 第三步:写 Policy YAML 来控制 OpenClaw 能做什么

这是最关键的一步。创建一个 YAML 文件,叠加 4 层防护。filesystem_policy 声明哪些目录是 read_only(比如 /usr、/lib、/etc),哪些是 read_write(比如 /sandbox、/tmp),没有列出的路径会在内核层被 Landlock LSM 直接拦截。process 用 seccomp 阻止 root 权限和危险的系统调用。network_policies 控制每一个对外连接,比如要让 OpenClaw 能调用 GitHub API,就添加 api.github.com 端口 443 这个 endpoint,再加上具体规则,例如只允许对所有仓库 GET,但只对你指定的仓库开放完整写权限。应用方式:openshell sandbox create --from openclaw --policy ./my-policy.yaml。

🔄 第四步:OpenClaw 被拦截时热重载策略

当 OpenClaw 需要访问新的 endpoint 时,你不需要拆掉整个沙盒。用 openshell logs <名称> --tail --source sandbox 查看被拒绝的请求日志,了解哪些请求被挡住了。用 openshell policy get <名称> --full > policy.yaml 把策略导出来,打开编辑添加所需的 endpoint,然后用 openshell policy set <名称> --policy policy.yaml --wait 推送回去。一切会立即生效,OpenClaw 不会被中断,照常运行。

🔑 第五步:保护好你的 API Keys

Credentials 由 OpenShell 以环境变量的形式注入沙盒,绝不会写入文件系统。OpenClaw 能用这些 key,但无法读取或把它们拷贝出去。你可以手动创建 provider:openshell provider create --type anthropic --from-existing,或者在创建沙盒时让 CLI 自动从环境中检测。

💡 小技巧:用 Terminal UI 快速排查问题

运行 openshell term 打开实时仪表盘,查看 OpenClaw 的每一个请求是被允许还是被拒绝。用 Tab 切换面板,j/k 上下移动。你也可以把 OpenShell 仓库克隆下来,让 OpenClaw 读取 .agents/skills/ 里的 skills,它就能自己诊断问题,妥妥的"Agent 修 Agent"。

你现在是让 OpenClaw "裸奔"运行,还是已经加上了这层保护?

更多文章