尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
workmux 沙盒安全指南:如何用 Docker 容器 / Lima VM 隔离运行 AI Agent
workmux 沙盒安全指南如何用 Docker 容器 / Lima VM 隔离运行 AI Agent【免费下载链接】workmuxgit worktrees tmux windows for zero-friction parallel dev项目地址: https://gitcode.com/gh_mirrors/wo/workmuxworkmux 是一款基于 git worktrees tmux 的并行开发工具其**沙盒sandbox**功能可将 AI Agent 隔离运行在Docker 容器或Lima 虚拟机中让 Agent 无法触碰你主机上的 SSH 密钥、AWS 凭证等敏感文件。本指南将带你快速理解 workmux 沙盒的安全模型、两种后端的差异以及 Docker 容器与 Lima VM 的最小配置步骤。1️⃣ 为什么 AI Agent 需要沙盒AI Agent 通常以自动批准模式运行如 Claude 的--dangerously-skip-permissions这意味着它可以自主执行命令、读写文件。如果直接跑在宿主机上一次误操作就可能读到~/.ssh、~/.aws里的凭证。workmux 的做法是把隔离边界从 Agent 自身前移到环境启用沙盒后workmux 会自动开启各 Agent 的非交互批准模式由容器/VM 作为安全边界而不是依赖 Agent 自己的权限弹窗沙盒内只挂载当前 worktree读写、Git 运行数据和 Agent 凭证目录主机上的 SSH 密钥、GPG 密钥、其他项目的.env等文件根本不存在于沙盒内状态指示、仪表盘、合并、派生新 Agent 等所有功能跨沙盒边界照常工作由内置 RPC 桥保持同步。2️⃣ Docker 容器 vs Lima VM选哪个后端容器Docker / Podman / Apple ContainerLima VM隔离级别进程级namespaces或 VM 级Apple Container机器级独立内核虚拟机持久性临时每次会话新建容器无残留状态持久有状态 VM跨会话保留工具链自定义 Dockerfile 或宿主机命令代理内置 Nix Devbox 声明式工具链网络限制支持域名白名单不限制平台macOS、LinuxmacOS、Linux建议容器是更好的默认选择——配置简单、用完即毁如果你需要持久 VM 和 Nix/Devbox 工具链选 Lima。3️⃣ Docker 容器后端最快配置步骤第 1 步安装容器运行时Docker、Podman 或 macOS 26 的 Apple Container然后第 2 步在配置文件中开启沙盒# ~/.config/workmux/config.yaml 或 .workmux.yaml sandbox: enabled: true预构建镜像会在首次运行时按你配置的 Agent 自动拉取无需手动构建。常用辅助命令workmux sandbox pull # 手动拉取最新沙盒镜像 workmux sandbox shell # 进入容器调试环境进阶安全选项均只能写在全局配置中项目配置无法削弱安全边界隐藏敏感文件container.excluded_files列出.env、.env.local后它们会被只读/dev/null遮蔽Agent 读不到更强的 VM 边界设置container.oci_runtime: kata让容器运行在 Kata 硬件虚拟机下复用完全相同的镜像与挂载方案自定义镜像workmux sandbox init-dockerfile导出 Dockerfile参考仓库中预置的 docker/Dockerfile.claude加入自己的编译器和构建工具后重新构建即可。4️⃣ Lima VM 后端最快配置步骤第 1 步安装 Limabrew install lima第 2 步指定后端sandbox: enabled: true backend: lima lima: cpus: 8 memory: 8GiB provision: | sudo apt-get install -y ripgrep fd-find jq首次使用时 VM 会自动创建、provision 并启动无需手动管理生命周期。两个关键点要知道Git 元数据边界Lima 采用宽写挂载无法把 Git 策略文件单独设为只读因此 workmux 会要求你显式确认接受这一减弱的隔离可写lima.accept_reduced_git_metadata_isolation: true免交互。若必须保护宿主机 Git 元数据请改用 Docker/Podman/Apple Container工具链开箱即用项目根目录有devbox.json或flake.nix时Agent 命令自动包进devbox run/nix develop声明的编译器、linter 立即可用且/nix/store跨会话缓存。日常运维workmux sandbox stop释放资源、workmux sandbox prune清理闲置 VM 回收磁盘。5️⃣ 网络域名白名单阻止 Agent 外泄数据默认容器网络是放开的。开启出站域名白名单后Agent 只能访问你批准的域名sandbox: enabled: true network: policy: deny allowed_domains: - api.anthropic.com # 换成你的 Agent API 域名其实现是双层强制容器内 iptables 防火墙阻断一切直连出站流量被强制导到宿主机的 CONNECT 代理由代理校验域名白名单并拒绝私有/内网 IP。即使 Agent 故意忽略代理环境变量也绕不过去。⚠️ 注意限制模式下只放行 HTTPS(443)gitssh会被阻断请改用 HTTPS 远端。6️⃣ 你必须了解的安全边界沙盒 ≠ 银弹理解能挡什么、挡不住什么比配置更重要Agent 仍可编辑 Git 仓库这些改动本质上是不可信的后续构建/测试时可能以你的主机用户身份运行。如果你的威胁模型要求沙盒 Agent 对宿主机代码零影响不要用 workmux 沙盒host_commands 是便利性功能允许沙盒内代理执行宿主机命令如just、cargo被代理的命令可在项目文件中执行代码需要严格隔离时不要开启对比 Agent 自带沙盒Claude Code 内置沙盒只是进程级限制仅约束 Bash 工具~/.ssh默认仍可读workmux 沙盒是完整环境隔离未挂载的文件在沙盒里根本不存在是更强的保证。详见 docs/src/content/docs/guide/sandbox/alternatives.md。7️⃣ 常见排障速查问题解决方法Agent 找不到凭证Claude 的凭证存于 macOS 钥匙串需在沙盒内重新认证一次其他文件式凭证 Agent 自动共享排查被拦截的请求查看宿主日志~/.local/state/workmux/workmux.log被拒域名一目了然调试沙盒环境workmux sandbox shell新开一个同挂载容器--exec可接入正在运行的容器切换 Agent / 修改 provisionLima VM 需workmux sandbox prune重建后才生效 完整文档沙盒总览 · 容器后端 · Lima 后端 · 共享特性 · sandbox 命令参考核心实现位于 src/sandbox/mod.rs、src/sandbox/container.rs 与 src/sandbox/lima/mod.rs欢迎深入源码或提交 Issue 讨论。【免费下载链接】workmuxgit worktrees tmux windows for zero-friction parallel dev项目地址: https://gitcode.com/gh_mirrors/wo/workmux创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

华为智选交换机Web网管配置全指南

华为智选交换机Web网管配置全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/1 3:57:38
如何实时查看Codex账号5小时与每周用量上限?codex-auth双刷新机制深度解析

如何实时查看Codex账号5小时与每周用量上限?codex-auth双刷新机制深度解析

如何实时查看Codex账号5小时与每周用量上限?codex-auth双刷新机制深度解析 【免费下载链接】codex-auth A CLI tool to switch and manage Codex accounts 项目地址: https://gitcode.com/gh_mirrors/co/codex-auth 使用多个Codex账号时,最头疼的…

📅 2026/10/1 3:57:37
教师私有知识库搭建指南:RAG原理与实操全流程

教师私有知识库搭建指南:RAG原理与实操全流程

1. 教师做私有知识库,到底在解决什么问题先把话说透:教师建私有知识库,不是为了赶AI的时髦,而是为了解决一个非常具体的痛点——你自己的教学资产,散落在十几个地方,用的时候找不到,找到了又没法…

📅 2026/10/1 3:52:37
MORE NEWS

更多资讯

📰

微信小程序登录模块详解:从登录设计到隐私合规落地

微信小程序开发做到第九期,登录模块和个人信息这块基本是绕不过去的坎。我见过太多项目在功能开发到一半时被登录逻辑卡住,要么是登录态失效导致用户频繁重新授权,要么是拿不到完整的用户信息导致后续业务没法开展。这一篇把登录模块从流程设…

📰

终端硬件BOM选型实战:安世、唯捷、纽迪瑞三大国产芯片深度对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Mano-P本地模式vs云端模式:如何选择最适合你的隐私GUI自动化方案

Mano-P本地模式vs云端模式:如何选择最适合你的隐私GUI自动化方案 【免费下载链接】Mano-P Mano-P: Open-source GUI-VLA agent for edge devices. #1 on OSWorld (specialized, 58.2%). Runs locally on Apple M4 Mac mini/MacBook — no data leaves your device.M…

📰

永磁同步电机无感FOC全速域控制:高频注入与滑模观测器切换策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

CentOS 7本地YUM源搭建:repomd.xml生成原理与createrepo实战

1. 这个报错不是文件丢了,是整个“仓库身份证”压根没生成你执行yum makecache或yum install时突然弹出:Cannot retrieve metalink for repository: base/7/x86_64. Please verify its path and try again ... Couldnt open file /mnt/local/repodata/re…

📰

Monorepo版本管理告别手改:Changesets自动化发布实战指南

做 monorepo 项目的人,迟早都会遇到同一个噩梦:版本发布。我记得有次给内部组件库加了个小功能,改完代码之后,光改几个包的version字段和 CHANGELOG 就花了大半个小时。结果发布没几分钟,下游项目就报错说找不到某个版…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬