dsh-guard-sensitive-paths:DeepSeek Harness 敏感路徑審批插件

前言

DeepSeek Harness(DSH)採用插件化架構。在智能體開發中,工具調用可能意外泄露敏感文件(如 .env、.git 目錄或 SSH 密鑰)。dsh-guard-sensitive-paths 旨在通過在執行前強制審批來攔截這些操作,確保敏感數據不會未經授權地被讀寫或執行。

核心功能

該插件是一個 DSH bundle,通過前置註冊 tools/pre-execute 策略來攔截操作。它默認開啓,零配置即可生效。

主要攔截以下場景:
1. 寫/改/執行操作:攔截 write、edit、str_replace_editor、bash 對敏感路徑的調用。
* 敏感路徑集合:.env 文件、.git 目錄、.ssh 目錄、SSH 私鑰文件、.pem 證書文件。
2. 讀操作:僅攔截對 密鑰類 文件的讀取,即 SSH 私鑰和 .pem 證書。讀取 .env、.git、.ssh/config 等文件保持放行。

工作機制:
* 優先級:通過 PREPEND 方式註冊,優先於其他 tools/pre-execute 監聽器執行。
* 行爲:純審批策略。命中時返回 ask 決策,理由中包含敏感路徑類別(如 environment-file、key-material)。未命中則原樣委託。
* Bash 掃描:支持掃描 Bash 命令文本,檢測命令中是否包含敏感路徑(如 .env、id_rsa、*.pem 等)。

安裝與啓用

插件遵循 DSH bundle 規範,安裝後隨 profile 重啓生效。

從 GitHub 安裝:

dsh plugin --profile web add github:TARS-snail/dsh-guard-sensitive-paths

驗證安裝:

dsh --profile web --dump-config

生成的配置中應包含 name: dsh-guard-sensitive-paths 的條目。

配置

默認零配置即開啓。若需關閉,可在 profile 的 cordis.patch.yml 中覆蓋配置:

- id: sensitive-paths
  name: dsh-guard-sensitive-paths
  config:
    sensitivePaths: false

適用場景與邊界

該插件通過觀察工具調用的參數進行攔截,不修改會話行爲。

覆蓋範圍:
* 攔截 write、edit、str_replace_editor、read、bash 工具對敏感路徑的參數。

不覆蓋範圍(威脅模型邊界):
* 宿主級 sidecar / 運行時行爲:不經過工具循環的讀取、打包、加密、上傳(如智譜 ZCode 事件中通過宿主進程打包上傳 .git 歷史),本插件無法攔截。
* 網絡出口:文件 sandbox 管文件訪問,不管主機進程把數據發往哪裏。
* 模型推理端點:任務相關的上下文仍會發送給 LLM provider。

結尾

該插件確保工具調用命中敏感路徑時,必須先獲得批准。它無法防止宿主進程繞過工具循環的操作,如需覆蓋這些面,需要文件 sandbox、進程隔離與網絡出口策略。

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

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

小夜