原创

DeepSeek Harness 高阶 04:沙箱、审批、密钥与插件安全边界

拆解 DeepSeek Harness 的 read-only、workspace-write、danger-full-access、一次性权限升级和插件供应链边界,并从工作区、审批、凭据与外部工具四层建立最小权限基线。

AI 安全实践 DeepSeek Harness 沙箱 权限审批 API Key 安全 插件安全 供应链
DeepSeek Harness 从入门到高阶专题 · 第 6/8 篇查看专题目录 →

Agent 最危险的时刻,往往不是它回答错了,而是它在“看起来合理”的下一步里运行了一条范围过大的命令。DeepSeek Harness 提供沙箱和审批接缝,但安全并不会因为界面出现一个权限下拉框就自动成立。

三种模式控制什么

官方沙箱词汇包含 read-only、workspace-write 和 danger-full-access。它们主要约束文件副作用:只读、允许写工作区、放开文件访问。

这里有两个重要边界。第一,文件沙箱不等于完整网络隔离,也不承诺隐藏全部进程。第二,沙箱执行器约束的是同一主机世界里的子进程;如果 Bash 在容器、文件工具却在宿主机,Agent 会处在两个不一致的文件世界。

默认基线怎么设

第一次接入仓库,建议使用 workspace-write + ask:允许在明确工作区内修改,超出边界需要一次性审批。纯审查任务使用 read-only。danger-full-access 只适合隔离环境中范围清楚、可回滚的任务,不应成为团队默认值。

官方权限预设把沙箱模式和审批策略组合为一个选择,但执行仍由各自能力服务负责。自定义组合可能显示为 custom,不要只看 UI 名称,应记录最终两项机制值。

权限升级为什么必须“一次性”

受限命令被拒绝后,工具可以带 sandbox_permissions 和 justification 请求更宽权限。批准只应覆盖这一次重试,不应永久改变后续所有命令。

一个合格的理由应包含:原命令为什么失败、需要访问的具体路径或能力、为什么更窄的权限不够、执行后如何验证。类似“需要权限才能继续”没有审查价值。

不要允许 Agent 通过换命令、复制文件或调用其他工具绕过拒绝。沙箱拒绝是策略信号,不是提示模型寻找漏洞。

Shell 沙箱不是所有工具的沙箱

文件、Web、MCP 和自定义工具可能在进程内执行,它们需要在各自能力接缝实现策略。给 Bash 套上 argv 包装器,无法自动限制一个闭包直接调用 ctx.fs 或向外部 API 发请求。

因此每新增一个插件,都要回答:它能访问哪些服务?是否执行安装脚本?是否联网?是否读取会话和凭据?是否能修改配置?卸载时是否清理资源?

密钥分三层管理

开发者个人实验可以使用 Harness 凭据存储,但团队环境还需要外部 Secret Manager、短期凭据和轮换。不要把 Key 写入 Patch、提示词、Session 日志、CI Artifact 或截图。

模型 Key、代码仓库 Token、部署凭据应分开。一个 Agent 能调用模型,不代表它也应该拥有发布权限。外部写操作最好由独立工具接收窄范围参数,并在服务端校验,而不是向模型暴露通用 Shell Token。

插件供应链基线

固定准确版本和完整性;审查 package.json 安装脚本;优先官方源或内部镜像;记录插件声明的服务依赖;上线前测试加载、禁用、卸载和升级;对本地路径插件保留源码审查记录。

官方仍将项目置于快速演进阶段。v0.1.7-alpha.1 还修复过 Windows 沙箱跨工作区删除问题,这正说明安全结论必须绑定版本和平台,而不是永久信任一个开关。

最终建议

把安全策略写成五层:隔离工作区、最小文件权限、一次性审批、窄范围凭据、独立验收。默认拒绝不可解释的扩权,默认记录工具和审批事实,默认让外部系统验证最终结果。

沙箱的价值不是保证 Agent 永不犯错,而是把一次错误能造成的影响限制在可理解、可恢复的范围内。

继续阅读:Session 事件、日志重建与可观测性。密钥治理可延伸阅读大模型 API Key 安全实践,完整顺序见DeepSeek Harness 专题路线。

实测与内容说明

实测记录

  • 2026-09-23 核验官方能力接缝、权限预设、沙箱设计记录与发布说明。
  • 本文未在各操作系统实测沙箱后端;平台支持和 enforcement 完整度须以目标主机实际探测结果为准。

参考资料

内容版本 1.1 · 审核:推荐智能手记 · 计划复审:2026-10-07