前言¶
DeepSeek Harness(DSH)爲智能體開發提供基礎設施,但在使用過程中,憑證泄露、敏感數據出現在日誌或遙測中、以及工具調用被篡改是常見風險。dsh-dlp 是一個用於 DeepSeek Harness 的防數據丟失插件,旨在通過工具警戒線、結果脫敏和遙測脫敏來收緊安全邊界。
插件介紹¶
dsh-dlp 是一個非配置的工具警戒線、工具結果脫敏和失敗關閉的遙測脫敏工具。它由 CharlotteN7 維護,遵循 MIT 許可證。該插件運行在 DSH 進程內部,用於攔截模型對憑證材料的請求,並對輸出中的敏感信息進行清理。
核心功能¶
該插件提供以下核心能力:
- 拒絕憑證文件訪問和綁定到網絡的密鑰:這是插件唯一的無條件限制,通過
ctx.tools.guard()測試路徑類型參數。 - 從工具結果中脫敏密鑰:在模型讀取和會話日誌記錄之前進行清理,無法清理的部分會 withhold 結果。
- 從步驟輸入的消息中脫敏密鑰:處理上下文、捕獲的終端面板、鉤子的
additionalContext等內容。 - 從導出的遙測中脫敏密鑰:防止
DSH_TELEMETRY_MODE=FULL將消息文本、工具參數、結果和工作區路徑明文發送。 - 檢測支付卡號:通過發行人範圍、長度和 Luhn 校驗位進行檢測。
- 剝離不可見字符:移除攜帶隱藏指令的不可見字符(如 Tags 塊、雙向控制、變體選擇器),並從審計車道剝離終端控制序列。
- 中和遠程 Markdown 圖片:處理助手輸出中的遠程圖片。
- 檢測工具調用重寫:檢測會話日誌記錄後其他插件重寫的工具調用。
- 改變未來行爲的文件寫入前詢問:在寫入配置文件、規則目錄、提示模板、Git hooks 等前詢問。
- 關閉自身確認的調用前詢問:在設置
non_interactive: true、approval_mode: auto或待處理的apply前詢問。 - 決策審計記錄:爲每個決策(包括拒絕、脫敏、詢問、重寫檢測)寫入審計記錄。
安裝與配置¶
安裝¶
通過 DSH CLI 安裝插件:
dsh plugin --profile <name> add dsh-dlp
配置¶
安裝後,需要配置插件參數。以下是一個典型配置示例:
- id: dsh-dlp
config:
aggressiveness: medium # low | medium | high
auditLog: /var/log/dsh-dlp.audit.l
redactionKeyFile: /var/lib/dsh/dsh-dlp.redaction-key
policyFile: ./.dsh-dlp.yml # 可選
breadthTier: true
resultRedaction: true
telemetryRedaction: true
stepContextRedaction: true
claimedInputRedaction: true
configWriteAsk: true
approvalSuppressionAsk: true
參數說明¶
- aggressiveness:激進程度,分爲
low(僅保證開關獨立)、medium(默認,保證所有開關開啓)、high(脫敏用戶輸入)。 - redactionKeyFile:脫敏密鑰文件路徑,安裝時自動創建 32 字節隨機密鑰,權限爲
0600,不應納入版本控制。 - auditLog:審計日誌路徑。
注意事項¶
- 運行模式:插件在進程內運行,不是隔離邊界。任何 DSH 進程能執行的命令(如
bash、run_code、掛載的 MCP 服務器)都能讀取插件拒絕的文件或打開自己的套接字。插件只能攔截模型通過工具請求的憑證材料,無法阻止已運行的代碼。 - 無條件限制:只有“拒絕憑證文件訪問”是絕對無條件的。其他限制(如結果脫敏、詢問)可以被其他插件註冊的監聽器覆蓋或中和。
- Shell 命令限制:Shell 命令限制是建議性的模式匹配,並非硬性控制。如果路徑拼寫被修改(如 glob 字符、base64 編碼、同形字替換),可能繞過檢測。
- 檢測機制:檢測基於模式,不支持熵規則。編碼形式(如 Base64)可以繞過檢測,同形字也可以繞過規則。支付卡號檢測基於 Luhn 校驗和發行人範圍。
總結¶
dsh-dlp 通過在 DeepSeek Harness 中增加防數據丟失層,幫助開發者保護敏感信息。它適合需要在日誌、遙測和工具結果中防止敏感數據泄露的場景。使用前請仔細閱讀源碼與許可證,並理解其進程內運行和模式匹配的侷限性。
- 目錄頁:dsh-dlp - SkillHub
- GitHub 倉庫:CharlotteN7/dsh-dlp