dsh-taintguard:DeepSeek Harness 的间接提示注入防护

前言

DeepSeek Harness(DSH)智能体在浏览网页或读取仓库时,会将第三方文本放入与操作员指令相同的上下文通道中。由于模型缺乏可靠手段区分来源,网页内容、README 或 MCP 工具结果可能诱导智能体执行敏感命令或发布文件。该插件不试图让模型免疫此类攻击,而是通过来源污染限制第三方文本的影响范围,对后续的特权调用进行拦截,并在参数中检测到凭据时直接拒绝。

插件介绍

该插件由 sashankh 维护,属于 admin-security 分类,采用 MIT 许可证。它是一个为 DeepSeek Harness 设计的间接提示注入防护工具,旨在通过数据流追踪提供相对可控的防护手段。

核心功能

该插件主要提供以下能力:
* 间接提示注入防护:检测并响应非直接注入的攻击尝试。
* 来源污染:标记工具输出是否来自不可信来源。
* 特权调用拦截:根据污染状态限制后续的特权工具调用。
* 凭据拒绝:无条件拒绝将凭据材料传递给网络工具。
* 运行模式:支持 observe(观察)、ask(询问)和 deny(拒绝)三种模式。

安装与启用

安装时需指定 profile 名称,使用官方发布的预构建包:

dsh plugin --profile <name> add https://github.com/sashankh/dsh-taintguard/releases/download/v0.1.0/dsh-taintguard-0.1.0.tgz

安装后,可通过 dsh --profile <name> --dump-config 验证插件层是否已添加。

配置与用法

建议先在 observe 模式下运行,观察插件对流量的标记情况,确认无误后再切换到 ask 或 deny 模式。

- id: taintguard
  name: dsh-taintguard
  config:
    mode: observe

工作原理与限制

该插件基于 AgentDojo v1.2.1 进行了测量评估:
* 内容检测器:仅能捕获 9.9% 的攻击载荷(35/355),且对拼写错误(如 iunstructions)无能为力。因此,它不能作为安全边界,只能作为遥测信号。
* 来源污染:能捕获 100% 的注入攻击,但会限制 97.6% 的关键调用(80/82)。这是一种“粗糙但完整”的防护策略。

插件的核心价值在于无条件拒绝将凭据材料传递给网络工具,从而阻断数据外泄环节。

兼容性

  • Node.js:需要 Node.js >= 22。
  • DeepSeek Harness:兼容 @deepseek-ai/dsh-tools、dsh-llm ^0.1.0-rc.6 以及 @deepseek-ai/cordis ^4.0.1。

总结

dsh-taintguard 为 DeepSeek Harness 提供了基于来源的数据流追踪机制。虽然其模式检测器存在局限性,但通过来源污染和凭据拒绝机制,能够在一定程度上缓解间接提示注入的风险。

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

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

小夜