前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。當開發者需要引入第三方插件或審查社區代碼時,直接運行或安裝可能帶來風險,包括提示詞注入、供應鏈投毒或潛在的惡意行爲。dsh-plugin-guard 旨在解決這一安裝前驗證問題,提供靜態安全掃描能力。
插件定位¶
這是一個 DeepSeek Harness 插件的安裝前安全檢查插件。它默認離線、只讀,不執行被掃描代碼,也不跟隨符號鏈接,更不會把插件內容發送給大模型或第三方服務。
插件由開發者 MangShe3-0 維護,採用 MIT 許可證。
核心功能¶
插件通過靜態分析檢查以下風險信號:
- 提示詞注入:覆蓋系統/用戶指令、隱藏行爲、工具描述投毒、中英文隱蔽指令。
- 文件勒索與破壞:遞歸刪除、磁盤格式化、權限破壞、批量加密、贖金文本。
- 憑據與數據外傳:環境變量枚舉、SSH/雲憑據、瀏覽器數據、secret → network 組合鏈。
- 供應鏈:安裝生命週期腳本、下載即執行、未鎖定依賴、編碼載荷。
- 動態執行與越權:eval、shell/subprocess、持久化、自修改、關閉 TLS 校驗。
- DSH 元數據:package.json 可解析性和 dsh.bundle.patch 激活聲明。
- Unicode 欺騙:零寬字符與雙向控制字符。
安裝與啓用¶
安裝前,請確保在當前目錄生成了 tarball 包:
npm pack
隨後,將包安裝到實際啓動 Web UI 的同一個 profile。官方默認 Web UI 通常使用 web profile:
dsh plugin --profile web add ./dsh-plugin-guard-0.1.1.tgz
dsh --profile web --dump-config
配置中出現 id: plugin-guard 即表示安裝成功。隨後停止並重新運行 dsh web,新建對話即可獲得 plugin_guard_scan 工具。自定義 profile 用戶需將上述命令中的 web 替換爲實際運行的 profile 名稱。
典型用法¶
在 Harness 中使用¶
將待審插件下載或解壓到當前工作區,在對話中要求 Harness 掃描:
使用 plugin_guard_scan 掃描 ./untrusted-plugin,先不要安裝或運行它。
工具默認只允許掃描當前 DSH 會話中經過驗證的 session.header.cwd。相對路徑從該會話 workspace 解析。若需掃描額外目錄,需在啓動 Harness 前設置環境變量:
export DSH_PLUGIN_GUARD_ROOTS="/absolute/review/inbox:/another/allowed/root"
獨立命令行¶
不安裝到 Harness 也能直接掃描:
node ./bin/dsh-plugin-guard.js /path/to/plugin
node ./bin/dsh-plugin-guard.js /path/to/plugin --json
退出碼說明¶
- 0:可繼續人工審查。
- 1:謹慎,存在部分風險。
- 2:不要安裝,存在高危風險。
- 3:掃描失敗。
驗證與測試¶
插件自帶測試套件,確保掃描邏輯正確:
npm test
npm run check
適用場景與注意事項¶
該工具適用於需要在引入外部 DSH 插件前進行安全評估的開發者。它基於靜態規則分析,退出碼 0 僅代表“可以繼續人工審查”,不代表“絕對安全”。
已知邊界:
* 靜態掃描只能發現已知風險信號,不能證明插件安全。
* 不分析圖片、加密文件、編譯二進制或運行時下載後的真實行爲。
* 正則規則可能誤報,也可能被高級混淆繞過。
* 不聯網查詢 OSV/CVE;依賴漏洞需要另行使用可信的 SCA 工具檢查。
* 不替代沙箱、最小權限、網絡出口控制、人工代碼審查和可恢復備份。
參考資料¶
- 項目地址:https://github.com/MangShe3-0/dsh-plugin-guard
- 目錄頁:https://www.skillhub.cn/plugins/MangShe3-0/dsh-plugin-guard