更多帖子
帖子进阶仅限授权使用

你们是怎么给 pi 做沙箱隔离的?

How are you sandboxing pi?

仅限授权使用:这是用于授权测试与研究的安全工具或资料,只能在你有权测试的系统上使用。
AI 导读

r/LocalLLaMA 上的一则讨论帖,发帖人询问大家是否对 pi 做了沙箱隔离、采用了哪种方式,并列举了 docker sbx、普通容器、devcontainer、pi 的 gondolin/sandbox 扩展等选项。评论区中有人分享了用 Podman 加 bash 包装脚本设置只读挂载的做法,还有人贴出启动脚本,说明只用 Dockerfile 从 debian 镜像安装 pi,并只挂载当前目录或 home 目录为读写,容器内的 agent 无法访问宿主机。适合关注本地 LLM agent 运行环境隔离的读者。

分级
值得看
收录时间
2026-10-26

原帖

Are you doing it or not? If yes, what approach are you taking? There are many .. docker sbx, regular container, devcontainer, pi's gondolin/sandbox extension etc.

rm-rf-rm · · 在 Reddit 查看原帖(新标签页打开)

中文大意

发帖人 rm-rf-rm 问大家有没有对 pi(编程 agent)做沙箱隔离,如果有的话用的是什么方案,并列举了几种常见做法:docker sbx、普通容器、devcontainer、pi 自带的 gondolin/sandbox 扩展等。讨论区给出的做法包括:Podman/Docker 容器配合包装脚本,只把当前工作目录挂成可读写、.git 和模型配置挂只读;bubblewrap/bwrap;jail.nix via pi.nix;独立的 Linux 用户加 ACL;非特权 LXC 容器;VM 加快照和一次性密钥;openshell;macOS 上用 sandbox-exec/seatbelt;也有人直接在宿主机上 YOLO 运行,靠备份和专用机器兜底。多位回复者也讨论到在容器里做工具调用级路径校验、限制 shell 是否等于“给 agent 做脑叶切除”,以及 rootful doc…

讨论区核心观点

依据 40 条评论

  • 最主流的做法是 Podman/Docker 容器加启动脚本:只把当前工作目录挂成可读写,home、.git、模型配置挂只读,用别名一条命令启动。 出处(新标签页打开)
  • 有人提醒 rootful docker 加 docker 组相当于给普通用户 root 权限,建议改用 rootless docker 或 Podman;也有回复说自己本就把 docker 命令指向 podman。 出处(新标签页打开)
  • 另一派用 bubblewrap/bwrap、jail.nix、非特权 LXC、VM 加快照与一次性密钥,或在专用/防火墙隔离的机器上跑。 出处(新标签页打开)
  • 不少人认为每任务起容器摩擦太大,选择只在工具调用层做路径校验、把 shell 收敛成受限工具列表,或干脆在宿主机上 YOLO 运行。 出处(新标签页打开)
  • 争论点:限制 agent 的 bash 是否等于把它“脑叶切除”;有回复认为封闭式工具列表加绝对路径校验比解析 shell 命令更可靠。 出处(新标签页打开)
  • macOS 方面有人尝试 sandbox-exec/seatbelt 配置(deny default 加 file-read/file-write 子路径白名单),并用 openshell 或现成 repo。 出处(新标签页打开)