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