权限之外的第二道防线
权限系统决定”这条命令能不能执行”,沙箱决定”执行时能做到什么程度”。 即使一条命令通过了权限审批,沙箱仍然可以限制它的行为:| 限制维度 | 说明 |
|---|---|
| 文件系统 | 只能访问项目目录及其子目录 |
| 网络 | 可以禁止或限制网络访问 |
| 进程 | 限制可启动的子进程 |
| 时间 | 超时自动终止 |
何时启用沙箱
沙箱不是默认对所有命令生效——它根据风险评估动态决定:- 用户显式请求禁用沙箱的命令(
dangerouslyDisableSandbox)不走沙箱 - 已通过安全规则白名单的命令可以跳过沙箱
- 未知命令或高风险命令强制进入沙箱
沙箱的实现思路
不同平台使用不同的沙箱技术:- macOS:利用系统级沙箱机制限制文件和网络访问
- Linux:基于命名空间和 cgroup 的进程隔离
- 沙箱策略由系统自动选择,用户不需要手动配置