一句话定义
沙箱(Sandbox)是一种把程序关进受限环境里运行的隔离机制:代码该跑还是跑,但它只能碰到你明确允许它碰的东西,越界就失败。
为什么需要它
大模型写代码这件事,现在已经很顺手了。真正麻烦的是下一步——把代码跑起来。一段代码一旦执行,它就和你一样,是系统里的一个普通进程:能读文件、能连网络、能占 CPU、能删东西。让一个刚生成的、没人读过的脚本在你主力电脑上跑,等于让陌生人用你的钥匙进你家。
沙箱回答的就是这个问题:这段代码最多能干什么?
打个生活化的比方。给孩子玩水,你不会把水龙头接在客厅地上,而是把他放进浴缸——水随便玩,但流不出卫生间。或者像银行柜台的防弹玻璃:钱能递进递出,你的手伸不进去。沙箱就是那层玻璃和那圈浴缸边。
沙箱到底管住什么
| 维度 | 默认做法 | 拦住的典型事故 |
|---|---|---|
| 文件系统 | 只挂一个临时目录,看不到家目录 | 误删你的项目、读取私密文件 |
| 网络 | 默认断网,或只放行白名单域名 | 偷传数据、下载恶意脚本 |
| 进程与权限 | 用低权限账号运行,禁止改系统 | 装后台程序、改系统配置 |
| 资源 | 限制内存、磁盘、CPU 时长 | 死循环把机器拖死、写爆硬盘 |
四项合起来,就是最小权限原则:默认什么都不给,缺什么再单独开。
和相邻概念的区别
沙箱不是一个具体软件,而是一类策略。虚拟机(VM)模拟整台电脑,隔离最硬但也最重;容器(Container)共享宿主内核,启动快、开销小,隔离稍弱;此外还有权限过滤、WebAssembly 沙箱等做法。它们常常叠着用,越危险的操作关得越严。
对从业者和普通人意味着什么
做代码智能体(coding agent)的人,应该把"在沙箱里执行"当默认设计,而不是"在用户机器上执行"。再往上一层加人工确认:删文件、装依赖、联网这类动作要人点头;执行日志留痕,方便事后复现。
对普通职场人,判断标准很简单:AI 说"我可以直接帮你跑"时,先问一句跑在哪。如果它坚持让你复制到本地自己跑,多半是在保护你。看到产品说明里写"在沙箱中执行",可以理解为——这里出事,最多把沙箱弄坏,弄不坏你的电脑。
最后一句提醒:沙箱不是绝对安全,偶发的越界漏洞也出现过,所以纵深防御和及时更新同样重要,具体策略以各产品的官方页面为准。
