前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的架構,插件生態正在快速擴張。隨着目錄中插件數量激增,惡意代碼混入插件安裝腳本、憑證竊取或網絡回連的風險也隨之增加。dsh-plugin-gate 是爲此設計的安全插件,在執行 dsh plugin add 之前,先對插件源碼進行靜態掃描,並在運行危險命令前提供阻斷或警告。
插件簡介¶
- 插件名稱:
dsh-plugin-gate - 維護者: 863683348
- 開源協議: MIT
- 核心定位: DeepSeek Harness 的安裝安全門與數據保護守衛。
核心功能¶
該插件主要提供三類能力:
-
安裝源掃描
- 使用 60 條靜態規則掃描插件源碼。規則分爲高(31)、中(24)、低(5)三個嚴重級別。
- 掃描內容涵蓋惡意安裝腳本、憑證竊取、代碼混淆及網絡回調。
- 支持掃描目標爲
npm tarball或本地目錄。 - 通過 Google OSV 檢查已知供應鏈漏洞。
- 安全特性: 掃描過程是隻讀的,絕不執行被掃描的代碼,也不會向磁盤寫入文件。
-
差異報告
- 生成基準線,用於對比歷史掃描結果。
- 提供
gate_diff工具,識別新增、已解決或變更的風險點。
-
數據保護守衛
- 提供
gate_guard工具,在執行破壞性操作前評估風險。 - 檢查目標路徑是否在當前工作區邊界內,以及是否爲關鍵文件(如
.git、memory.json)。 - 根據
rm -rf類命令的簽名,返回BLOCK(阻斷)、WARN(警告)或PASS(通過)的裁決。
- 提供
安裝¶
在 DSH 的 Profile 配置中添加該插件:
dsh plugin --profile <profile> add dsh-plugin-gate
典型用法¶
安裝前先掃描插件源碼:
gate_scan target: "npm:dsh-plugin-some-package"
gate_scan target: "npm:dsh-plugin-some-package@1.2.3"
gate_scan target: "./downloaded-plugin"
基線與報告¶
對比當前掃描結果與存儲的基準線:
gate_diff target: "npm:dsh-plugin-some-package"
gate_diff target: "./downloaded-plugin" update: true
生成結構化報告以供 CI 或票據附件:
gate_report target: "npm:dsh-plugin-some-package"
gate_report target: "./plugin" format: "json" write: true
數據保護¶
在執行可能破壞系統的命令前進行評估:
gate_guard command: "rm -rf ./node_modules"
gate_guard path: ".dsh-memory-setup/memory.json" action: "delete"
配置項¶
插件支持以下配置(位於 DSH Profile 或配置文件中):
| 配置項 | 默認值 | 說明 |
|---|---|---|
maxFiles |
1000 | 單次目錄遍歷掃描文件數量上限 |
maxFileBytes |
2 MiB | 單個文件文本內容讀取上限 |
includeNodeModules |
false | 是否遞歸掃描 node_modules 目錄 |
maxTarballBytes |
32 MiB | npm 壓縮包下載大小上限 |
allowlistHosts |
[] | 永不標記爲違規的主機白名單 |
osvCheck |
true | 是否對精確版本依賴進行 OSV 漏洞查詢 |
osvMaxDeps |
8 | 單次 OSV 查詢的最大依賴數量 |
osvTimeoutMs |
10000 | 單個依賴 OSV 查詢超時時間(毫秒) |
promptSection |
true | 是否向 Agent 注入掃描行爲提示指導 |
注意事項¶
- 依賴要求: 需要
@deepseek-ai/dsh-tools、@deepseek-ai/cordis等對等依賴支持。 - 兼容性: 兼容
dsh-tools版本 0.1.0-rc.6 和 0.1.1-rc.2。早期版本存在 JSON Schema 語法不兼容導致 Profile 啓動失敗的問題,若遇到該錯誤需移除或升級插件。 - 掃描侷限: 這是一個基於啓發式的靜態掃描器。它無法檢測從未見過的惡意代碼,且可能誤報(將普通代碼標記爲可疑)。
- 運行權限: 插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。
總結¶
dsh-plugin-gate 爲 DSH 插件生態提供了一層防線,通過靜態簽名掃描和破壞性操作阻斷,降低了引入惡意代碼或意外刪除關鍵文件的風險。結合 gate_diff 和 gate_report,可以在 CI 流水線或開發流程中自動化執行安全檢查。