dsh-secret-guard:DeepSeek Harness 工具调用中的敏感载荷防护

前言

DeepSeek Harness (DSH) 采用了“一切皆插件”的架构。当模型通过工具调用返回参数时,可能包含敏感信息,如 API 密钥、私钥或用户凭证。dsh-secret-guard 旨在在工具执行前拦截此类载荷,通过 Fail-closed 策略防止敏感数据泄露或误用。

插件定位

这是一款用于 DSH 工具调用的安全防护插件,旨在对模型提供的工具参数进行敏感载荷检测。

  • 所有者:MkaliezZ
  • 类别:admin-security
  • 许可证:MIT

核心功能

插件在 tools/pre-execute 阶段介入,在工具主体运行前对模型提供的参数进行检查,返回 allow、ask 或 deny。

  1. 启发式检测:识别常见的私钥、令牌或密钥模式,以及明显的敏感字段名称。
  2. 大小限制与 Fail-closed:限制序列化后的载荷大小,超过配置上限时直接阻断执行。
  3. 作用域控制:通过 protectedTools 配置受保护的工具列表。该字段为空时,表示检查所有工具。
  4. 动作配置:通过 actionOnFinding 指定检测到敏感信息后的行为,支持 block(阻断)或 ask(询问)。

安装与启用

目前未提供官方的安装命令。该插件已发布至 npm(包名 @mkaliezz/dsh-secret-guard),可通过目录或仓库获取。

典型用法

在 DSH 的配置中引入插件,并设置相应的策略。以下是基于已核实功能的配置示例:

plugins:
  - dsh-secret-guard:
      protectedTools: [] # 空列表表示检查所有工具
      actionOnFinding: block # block 或 ask
      maxPayloadSize: 1024 # 载荷大小限制(需根据实际环境调整)

插件执行流程如下:
1. 模型准备调用工具。
2. DSH 触发 tools/pre-execute 钩子。
3. 插件检查参数,返回 allow、ask 或 deny。
4. 若返回 deny,工具主体不运行;若返回 allow 或 ask,则继续执行。

适用场景与注意事项

适用场景:需要防止模型在工具调用中意外泄露密钥或敏感数据的场景。

注意事项:
1. 这是基于启发式规则的检测,并非完整的 DLP(数据防泄漏)方案,无法保证检测所有凭证格式。
2. v0.1 版本不包含参数去敏功能,检测到敏感信息后仅做阻断或询问,不会修改原始参数。
3. 它不是沙箱或恶意软件检测器。
4. 如果需要更广泛的动作授权,应将其与策略边界(如 AgentFuse)配合使用。

总结

dsh-secret-guard 提供了在 DSH 工具调用前进行敏感载荷拦截的基础能力。通过配置 protectedTools 和 actionOnFinding,开发者可以在模型执行敏感操作前进行二次校验。

更多信息请参考:插件目录 | GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜