sandbox.mdx 1.2 KB

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