沙箱是什么?
Agent 有了「执行代码」的能力后,风险也随之而来——万一它跑了一段恶意代码,或者代码里有 bug 把系统搞崩了怎么办?沙箱(Sandbox)就是解决这个的:把代码的执行环境隔离在一个受控的「笼子」里,限制它只能访问允许的资源。它为什么必要?
代码不可信Agent 可能执行来自用户的代码、网络上下载的代码,谁也不能保证它安全。
出错会波及宿主
没有隔离,一段死循环或一条删除命令,就能拖垮整台服务器。
安全与权限需要边界
沙箱给「能做什么」划一条硬边界,越界就被拦下。
常见的沙箱手段
容器化用 Docker 之类的容器把运行环境包起来,与宿主隔离。
虚拟机
起一台独立虚拟机,隔离程度更高,但更重。
受限的运行时
限制网络、文件系统、系统调用的访问,用白名单放行。
超时与资源限制
限制 CPU、内存和运行时间,防止失控或耗尽资源。
它有什么代价?
沙箱会带来一定的性能开销和运维复杂度,但相比「裸奔」的风险,这笔投入非常值得——尤其是让 Agent 执行任意代码的场合。一句话记住:沙箱就是给 Agent 的代码一个「笼子」,让它随便折腾,但出不了圈、伤不到系统。
评论