将 DeepSeek Harness Security 接入 DeepSeek API

DeepSeek Harness 默认本地运行,但“本地”不等于无害。一个有用的 Coding Agent 会读取文件、启动进程,也可能调用联网工具。它的安全边界由工作区、权限策略、进程沙箱、插件信任、凭证与模型可见内容共同组成。

五层安全边界

1. 工作区

工作区是第一项影响范围决策。应该打开独立项目目录,而不是整个用户主目录。把不可信仓库与凭证目录、其他源码仓库分开。

2. 权限策略

审批用于约束超出当前策略的操作。评估新组合时应保留交互式确认。Full Access 会移除重要的人工检查点,并不会让重复工具调用变得更安全。

3. 进程沙箱

在受支持的 Linux 配置中,Bubblewrap 约束特定子进程。rc.1 通过隔离 PID namespace 修复了可能利用 /proc/<pid>/root 绕过限制的路径。依赖这层边界的用户应升级旧 RC。

但沙箱不是自动套在所有进程内插件外面的万能包装。需要确认到底是哪一个工具启动进程,以及它实际应用了什么策略。

4. Plugin 与 Preset 信任

Cordis Plugin 是可执行代码。Agent Preset 会选择插件与提示段,因此自定义 Preset 的信任等级实际上等于它挂载的能力。YAML 看起来是声明式配置,不代表它没有执行权限。

安装前应检查仓库所有者、包来源、安装脚本、网络请求、文件路径、凭证访问,以及插件运行在 Host Plane,还是仅向 Agent Scope 提供工具。

5. 模型可见内容

网页、仓库文件、MCP 返回值和检索文档可能包含间接指令。模型可能把不可信内容误当成任务要求,再利用合法工具执行违背用户意图的操作。

2026 年 8 月论文 Security Assessment of DeepSeek Harness with A.I.G 在保留 Harness Loop、工具注册表、模型适配器和 Session 事件路径的前提下研究了间接提示词注入。一篇论文不能代表通用安全评分,但说明 DSH 安全已经成为可实证研究的话题。

实用审查清单

  1. 固定准确的 DSH 与插件版本。
  2. 修改组合前备份 DSH Home。
  3. 第一次执行使用可丢弃工作区。
  4. 阅读 package.json、安装脚本和组合文件。
  5. 从最窄权限策略开始。
  6. 不把 API Key 写进 Prompt、仓库或测试 Fixture。
  7. 出现意外行为后检查 Trajectory 与 Session Log。
  8. 卸载插件后确认它是否改动了持久设置或文件。

可追踪性帮助调查,但不负责预防

Harness 会把模型可见消息、工具调用、结果和上下文注入写入 Append-only Session Log。这比一次性聊天记录更适合重放和事后分析。但日志不会在有害操作发生前自动阻止它,权限和沙箱边界仍不可替代。

本地插件与外部服务

本地插件可以按照自身权限读取本地数据。Web Tool、MCP Server、外部模型或其他服务可能上传它收到的内容。既要审查本地代码,也要阅读外部服务的数据处理政策。

常见问题

插件会自动运行在沙箱中吗?

不能这样假设。进程沙箱通过特定执行路径生效;进程内插件代码按照 Host 组合的权限运行。

rc.1 的 Bubblewrap 修复能让 DSH 安全运行恶意代码吗?

它关闭了一条重要路径,但整体安全仍取决于配置、内核与平台行为、工具实现和授予权限。

Session Log 能证明 Agent 为什么采取某个动作吗?

它记录模型可见事实和工具活动,是重要证据;但不能单独证明某个隐藏因果解释就是模型做出选择的唯一原因。