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 倉庫

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

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

小夜