沙箱Sandbox
一句话
沙箱是一个受限的运行环境,程序在里面只能访问被允许的文件、网络和系统资源。
大白话
沙箱像给小孩围起来的沙坑:在围栏里面怎么挖、怎么堆都行,沙子不会撒到客厅,也碰不到厨房里的刀。
比喻的边界
沙坑的围栏看得见;软件沙箱的边界是配置出来的,配错了或有漏洞,程序照样能越过去,所以它只能降低风险,不能保证绝对安全。
拿去就能用
我要运行,但我不完全信任它的来源。帮我在沙箱里运行,只开放,其他文件和网络都禁止,先给我看配置,再说明怎么确认限制真的生效。
还差:要运行的代码、允许的资源,发给 AI 前记得换掉
程序在沙箱里运行时报“权限不足”,错误贴在下面,路径里的用户名已换成 ***。帮我判断是哪条限制拦住了它,只放开完成任务必需的那一项,放开前先告诉我影响,等我确认。
我的网页要预览用户自己写的 HTML 片段。帮我用 iframe 的 sandbox 属性把它隔离起来,默认全部禁止、只开必需的权限,并说明每开放一项会带来什么风险。
别这样说 → 这样说
别这样说
开个沙箱,这样随便跑什么都安全了。
这样说
我想让 AI 编程工具帮我跑测试和装依赖,但不希望它读到项目外的文件或随意联网。帮我配置沙箱,只允许读写当前项目目录、只能访问 npm 官方源,并告诉我怎么验证限制生效了。
差别:说清了允许什么、禁止什么,并要求验证边界。
误解放进沙箱就绝对安全,可以随便跑不可信的代码。
其实是沙箱只能降低风险:边界可能配得过宽,沙箱本身也可能有漏洞;要按最小权限配置,并亲自验证文件和网络限制真的生效。
展开专业理解
沙箱通过限制文件系统、网络和系统权限来隔离程序。比如 AI 编程工具可以让命令只在项目目录内读写、只访问允许的域名;浏览器里给 iframe 加上空的 sandbox 属性会启用全部限制,再按需逐项放开。每放开一项都会扩大风险面,被放开的网络访问也可能成为数据外泄的通道。
来源
- Claude Code 文档:沙箱 核对于 2026-09-26
- MDN:iframe 元素 核对于 2026-09-26