前言¶
DeepSeek Harness (DSH) 採用了“一切皆插件”的架構。當模型通過工具調用返回參數時,可能包含敏感信息,如 API 密鑰、私鑰或用戶憑證。dsh-secret-guard 旨在在工具執行前攔截此類載荷,通過 Fail-closed 策略防止敏感數據泄露或誤用。
插件定位¶
這是一款用於 DSH 工具調用的安全防護插件,旨在對模型提供的工具參數進行敏感載荷檢測。
- 所有者:MkaliezZ
- 類別:admin-security
- 許可證:MIT
核心功能¶
插件在 tools/pre-execute 階段介入,在工具主體運行前對模型提供的參數進行檢查,返回 allow、ask 或 deny。
- 啓發式檢測:識別常見的私鑰、令牌或密鑰模式,以及明顯的敏感字段名稱。
- 大小限制與 Fail-closed:限制序列化後的載荷大小,超過配置上限時直接阻斷執行。
- 作用域控制:通過
protectedTools配置受保護的工具列表。該字段爲空時,表示檢查所有工具。 - 動作配置:通過
actionOnFinding指定檢測到敏感信息後的行爲,支持block(阻斷)或ask(詢問)。
安裝與啓用¶
目前未提供官方的安裝命令。該插件已發佈至 npm(包名 @mkaliezz/dsh-secret-guard),可通過目錄或倉庫獲取。
典型用法¶
在 DSH 的配置中引入插件,並設置相應的策略。以下是基於已覈實功能的配置示例:
plugins:
- dsh-secret-guard:
protectedTools: [] # 空列表表示檢查所有工具
actionOnFinding: block # block 或 ask
maxPayloadSize: 1024 # 載荷大小限制(需根據實際環境調整)
插件執行流程如下:
1. 模型準備調用工具。
2. DSH 觸發 tools/pre-execute 鉤子。
3. 插件檢查參數,返回 allow、ask 或 deny。
4. 若返回 deny,工具主體不運行;若返回 allow 或 ask,則繼續執行。
適用場景與注意事項¶
適用場景:需要防止模型在工具調用中意外泄露密鑰或敏感數據的場景。
注意事項:
1. 這是基於啓發式規則的檢測,並非完整的 DLP(數據防泄漏)方案,無法保證檢測所有憑證格式。
2. v0.1 版本不包含參數去敏功能,檢測到敏感信息後僅做阻斷或詢問,不會修改原始參數。
3. 它不是沙箱或惡意軟件檢測器。
4. 如果需要更廣泛的動作授權,應將其與策略邊界(如 AgentFuse)配合使用。
總結¶
dsh-secret-guard 提供了在 DSH 工具調用前進行敏感載荷攔截的基礎能力。通過配置 protectedTools 和 actionOnFinding,開發者可以在模型執行敏感操作前進行二次校驗。