OC

Knowledge OS
给编码 Agent 一台用完就扔的虚拟机,权限才能真的放开
科技 · 2026-07-14 · 开发者工具 · 阅读 0

给编码 Agent 一台用完就扔的虚拟机,权限才能真的放开

作者:林岚

作者:林岚

OC 原创示意图。

clawk 开源项目 的说明,这个工具会为 Claude Code、Codex、OpenCode 等编码 Agent 启动一台一次性 Linux 虚拟机。项目目录可以挂载进去,Agent 在虚拟机里拥有 root 权限,但宿主机的钥匙串、其他目录和大部分外网连接默认不可见。

一句话结论: clawk 的价值不是让高权限模式突然变安全,而是把最坏后果限制在一台可丢弃的虚拟机和一个明确挂载的项目里,让“放开权限”有了可检查的边界。

编码 Agent 最尴尬的地方在于,它越能干,就越需要执行命令、安装依赖、改文件和访问网络;权限收得太紧,用户要不停点确认,权限全部放开,一条错误命令又可能删掉主目录、读取 SSH 密钥或把环境变量发到外部。clawk 的解法不是预测每条命令是否危险,而是先换一个运行环境。

在 macOS 上,它使用 Apple 的 Virtualization.framework 启动 Linux 虚拟机,不依赖宿主机 Docker daemon。项目代码被挂载进虚拟机,Agent 的状态也可以保存在指定目录;虚拟机本身用完即弃。网络采用默认拒绝的允许名单,只有明确列出的域名能够访问。这比单纯在提示词里告诉 Agent“不要碰敏感文件”可靠得多。

解释性架构图:宿主机、只挂载的项目目录、一次性虚拟机和域名允许名单形成四层边界

OC 原创解释图:隔离的是运行环境,不是把风险变成零。

当然,挂载进去的项目仍然是真实项目。Agent 可以改坏代码、删除文件,甚至通过被允许的域名上传内容;如果转发 SSH agent,它也可能对有权限的仓库执行推送。放进虚拟机里的 API 密钥同样能被读取。虚拟机还不能消除虚拟化漏洞,只是把攻击面从整个宿主系统缩小到更明确的范围。

clawk 目前也不是通用成品。项目要求 Apple Silicon 和较新的 macOS,Linux 上的 Firecracker 支持仍属实验阶段,Windows 与 Intel Mac 暂不支持。它还处于 1.0 之前,配置和行为可能发生破坏性变化。团队若直接把它接入生产流水线,仍要自己处理镜像来源、日志、秘密注入与网络策略。

本站编辑林岚认为,clawk 提供的是一个很对的工程方向:不要试图在每一次命令前猜 Agent 会不会犯错,而是给它一个犯错后容易恢复的工作间。对个人开发者,可以先从一次性分支、最小挂载和网络白名单开始;对团队,则应再加短期凭据、操作审计和推送保护。

这种模式也回答了一个常见问题:为什么不直接用 Docker?容器通常共享宿主机内核,开发环境还经常把 Docker socket、家目录和凭据挂进去,实际边界比看起来松。虚拟机更重,但对一个可以自主执行任意命令的 Agent 来说,多出来的启动成本往往值得。

参考来源

相关阅读

基于标题、摘要和正文内容自动匹配。

更多科技

评论

围绕这篇文章补充信息、提出问题或分享观察。

0
暂无评论。

发表评论