DeepSeek Harness (DSH) 採用插件化架構。在開發或調試智能體時,模型經常在 agent/pre-step 階段接收包含 API 密鑰、令牌等敏感信息的輸入。這些數據可能被記錄到會話日誌中,帶來安全風險。dsh-model-redactor 插件的作用是在這些敏感數據進入會話日誌或模型請求之前,將其重寫爲脫敏版本。
該插件由 zerodegress 維護,旨在攔截並重寫模型可見的輸入流。它專注於在數據到達模型或持久化日誌之前進行處理,確保敏感憑證不會泄露。
核心功能¶
插件在兩個關鍵階段介入數據流:輸入和輸出。
-
輸入脫敏 (
agent/pre-step)
在用戶消息進入會話日誌和模型請求之前,插件會重寫這些消息的脫敏副本。已記錄的工具結果也會通過會話表面替換進行脫敏,同時保留原始的append-origin事件在持久化日誌中。 -
輸出脫敏 (
llm/stream)
在代理循環記錄之前,插件會移除文本、推理過程和工具調用參數的增量。這確保了日誌和未來的模型上下文保持一致。同時,block-end有效載荷也會被脫敏,防止組裝好的助手消息重新引入密鑰。 -
內置規則
插件內置了一套固定的脫敏規則,覆蓋常見格式,包括 OpenAI 風格的sk-、Bearer、Basic 認證頭、GitHub 和 Slack 令牌、JWT、賦值模式、PEM 私鑰塊以及 AWS 的AKIA訪問密鑰 ID。
安裝與啓用¶
安裝需要向 Cordis 補丁添加一個條目。在配置文件中添加以下行:
- insert:
- id: dsh-model-redactor
name: dsh-model-redactor
config:
enabled: true
該包會附帶 cordis.patch.yml 文件,並聲明 dsh.bundle.patch 用於捆綁配置文件。
配置與用法¶
基本配置¶
通過 replacement 字段指定替換文本,默認爲 [REDACTED]。替換文本長度需在 1 到 128 個字符之間,且不能匹配內置的密鑰模式。
自定義規則¶
customRegexes: 用於定義額外的正則表達式規則。customWords: 用於定義精確的單詞匹配規則。
限制說明¶
- 內置規則是固定的且無法禁用。
- 替換文本不能與任何內置的密鑰模式匹配。
適用場景與注意¶
該插件適合需要在 DSH 環境中處理敏感數據的開發者。使用前應檢查源代碼和許可證(MIT)。插件以當前 DSH 進程權限運行,請確保來源可信。
通過在模型可見的上下文中實施脫敏,該插件幫助維護安全的日誌記錄和上下文管理。