dsh-canary:DeepSeek Harness 插件

在 DeepSeek Harness (DSH) 的开发中,工具调用往往涉及将参数或 URL 传递给外部服务。如果模型在执行过程中回显了特定数据或标记,这些信息可能会被泄露。dsh-canary 插件通过在上下文中种植一个唯一的标记,并拦截任何包含该标记回显的工具调用或 URL,解决了这一检测与阻断问题。

插件简介

这是 DeepSeek Harness 插件。插件由 jwilson411 维护,分类为 admin-security,许可证为 MIT。它专注于检测并拒绝任何回显种植的 canary 字符串的工具参数或 URL。

核心功能

该插件提供以下核心能力:

  1. 种植 canary 字符串:在模型可见的上下文中植入唯一标记。
  2. 检测回显:检测工具参数或 URL 是否包含该 canary 字符串。
  3. 拒绝调用:在工具执行前拦截并拒绝包含 canary 的调用。
  4. 记录 incident:当检测到回显时,记录 incident 日志。
  5. 注册工具:注册 canary_context 和 canary_status 两个工具,用于查看种植状态和统计信息。
  6. 提供库 API:提供 plantCanary、wrapExecute、CanaryTripError 等库级 API,供开发者直接调用。

安装与启用

安装插件需要使用官方提供的安装命令。该插件依赖特定版本的 DSH 工具包。

dsh plugin --profile default add github:jwilson411/dsh-canary

典型用法

开发者可以通过插件提供的库 API 来实现 canary 的种植与防护逻辑。

种植与包装执行

首先调用 plantCanary() 生成种植状态,然后使用 wrapExecute 包装工具的执行函数。在执行时捕获 CanaryTripError 以处理拦截事件。

import { plantCanary, wrapExecute, CanaryTripError } from 'dsh-canary'

const state = plantCanary()
const guarded = wrapExecute(tool.execute, state, { tool: tool.name })

try {
  await guarded(argsFromTheModel, exec)
} catch (error) {
  if (error instanceof CanaryTripError) {
    // 错误处理:记录拦截事件,但不再传递 canary 值
    log.warn({ code: error.code, where: error.where, tool: error.tool })
    return
  }
  throw error
}

狭窄入口点

如果宿主拥有不同的调用点,可以使用 assertNoCanary 或 assertNoCanaryInUrl 进行检查。这两个函数在命中时会抛出异常,但不写入日志。

import { assertNoCanary, assertNoCanaryInUrl } from 'dsh-canary'

assertNoCanary(requestBody, state, { tool: 'http' })   // 检查参数
assertNoCanaryInUrl(candidate, state, { tool: 'fetch' }) // 检查 URL

适用场景与注意

适用场景

  • 需要检测模型是否将特定标记回显到工具调用参数或 URL 中。
  • 需要在工具执行前进行拦截,防止敏感信息或测试标记泄露。

注意事项

  • 版本要求:该插件需要 DSH RC 0.1.1-rc.2 版本。
  • 错误代码:检测到回显时的错误代码始终为 'CANARY_TRIP'。
  • 返回值安全:返回值(包括错误信息)中不包含 canary 值本身,仅包含前缀。
  • 功能定位:
    • 不是 prompt-injection 检测器。
    • 不是红队产品。
    • 不是分类器。
    • 不是隐蔽控制。
    • 不是数据丢失防护 (DLP)。

结语

dsh-canary 插件提供了一个具体的手段来验证模型是否在工具调用或 URL 中泄露了特定的上下文标记。通过严格的安装命令和库 API,开发者可以将其集成到现有的 DSH 工作流中,用于监控和阻断回显行为。

插件目录
GitHub 仓库

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

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

小夜