沙盒
了解文件与命令的执行边界,以及它与审批的配合方式。
沙盒的作用
沙盒限制任务对计算机资源的实际访问。读取文件、运行 Git、测试和包管理器等命令都应服从执行环境的边界。任务在已允许范围内可以继续执行,越界时按审批策略处理。
为什么需要沙盒
明确工作范围既减少常规动作反复确认,也限制错误指令或不可信材料造成的影响。只读任务从只读模式开始;需要修改时仅开放相关工作空间。审批并不能代替技术隔离。
开始使用
bash
lime --sandbox read-only --ask-for-approval on-request
lime --sandbox workspace-write --ask-for-approval on-request启动前检查权限目录与后端可用状态。macOS、Windows、Linux 和远程机器的实际执行能力可能不同,缺失依赖或不支持的后端需要先修复环境。不要为了运行任务关闭系统级保护。
选择审批范围
审批决定何时暂停,沙盒决定资源范围。仅批准足以继续的操作;互不相关项目使用独立工作目录,避免将整个父目录开放。
| 选择 | 含义 |
|---|---|
| on-request | 遇到需要额外授权的操作时请求决定。 |
| never | 任务不等待人工审批,仍遵守沙盒限制。 |
| auto_review | 对支持的审批请求进行自动审查,保留执行边界。 |
使用自动审查
bash
lime --approve-for-me自动审查处理进入审批流程的操作,不会逐条审查沙盒内全部行为。当前请求不受支持或审查不可用时会拒绝。查看原因后采用范围更小的方案。
配置默认值
默认设置应反映常见任务,而不是一次性的例外。通过当前配置入口选择审批、沙盒或命名权限档案,保存后读取有效值。管理员可以收紧这些选择。
需要扩大写入目录时明确具体路径;需要外部连接时单独核对目标、数据与工具。不要靠关闭全部保护解决单个权限错误。
验证本地与远程环境
- 各执行环境分别运行一项允许操作和一项拒绝操作。
- 检查容器挂载、套接字、身份和网络,避免外层权限扩大。
- 远程连接使用目标机器的策略,本地设置不能自动证明远程限制。
- 记录平台、版本、策略来源和拒绝证据。