读完这篇文章,你会明白:为什么让AI编码代理直接在笔记本上跑风险很大,如何安装sbx命令行工具,启动第一个隔离沙箱,亲眼看到隔离边界,以及最后怎么干净地清理掉所有东西。 不需要付费AI订阅,我们用shell代理就行。 AI编码代理之所以好用,是因为它能自己动手:安装依赖包、改文件、跑测试、构建Docker镜像,有些时候还会执行你根本不会亲手敲的命令。 如果直接让它在你的机器上裸奔,它完全可以: - 删掉你的个人文件 - 读取并泄露你的密钥和密码 - 把你机器变成挖矿肉鸡 - 给你的git历史留下一堆烂摊子 为什么说“普通容器”也不够安全?普通容器和宿主机共享同一个内核。一旦你把Docker socket挂载进去,代理就获得了和你一样的权限——这和裸奔没有本质区别。而完整的虚拟机又太重,启动太慢。 Docker Sandboxes的解法是:给每个代理分配一个独立的轻量级microVM(微虚拟机)。 对着上面的图解释一下: - 左侧是危险默认:代理在宿主机上获得的权限和你完全一样,没有隔离可言。 - 右侧是沙箱方案:代理被锁死在microVM里面,只有你指定的项目文件夹被共享进去,其他东西全部隔离在外。 不用装Docker Desktop,对公司环境也友好。 **macOS安装:** ```bash brew trust docker/tap brew install docker/tap/sbx ``` **Ubuntu / Linux安装:** ```bash curl -fsSL https://get.docker.com | sudo REPO_ONLY=1 sh sudo apt-get install docker-sbx sudo usermod -aG kvm $USER newgrp kvm ``` **Windows安装:** ```bash winget install -h Docker.sbx ``` **验证安装:** ```bash sbx version ``` **登录:** ```bash sbx login ``` **启动你的第一个沙箱:** ```bash mkdir -p ~/sandbox-lab cd ~/sandbox-lab echo "hello from the host" > note.txt sbx run --name first-sandbox shell ``` 首次运行时,sbx会自动拉取microVM镜像,需要稍等几秒。等它启动完成后,你会发现自己进入了一个独立于宿主机的shell环境。 在沙箱里执行 `ls`,你只能看到共享进去的 `note.txt` 文件夹。但如果你尝试查看宿主机上的其他目录,比如 `~/.ssh`,会发现里面空空如也——这就是隔离边界。 用完以后,记得用 `sbx` 的帮助命令查看stop和rm相关子命令,把“first-sandbox”这个沙箱清理掉,不给机器留垃圾。这样你就完整地走了一遍:认识风险、安装工具、启动沙箱、验证隔离、清理收尾。
热门跟贴