前言¶
DeepSeek Harness (DSH) 採用插件化架構,開發者經常需要安裝外部插件。在安裝前,通常只能看到描述或演示,難以確知插件在運行時真實會觸碰什麼權限或注入什麼內容。dsh-trust-check 提供靜態能力披露。它基於代碼判定,提供文件行號和原文片段作爲證據,不消耗 token,也不提供“安全/可信”的結論。
安裝與啓用¶
若要使用 DeepSeek Harness 設置頁中的體檢功能,宿主版本需滿足:
dsh --version
# 確保版本 >= 0.1.0-rc.8
安裝插件:
dsh plugin --profile web add dsh-trust-check
如需升級,可指定 latest:
dsh plugin --profile web add dsh-trust-check@latest
安裝後重啓 dsh web,進入 設置 → 插件體檢。
使用方式¶
插件提供 Web UI 和 CLI 兩種使用方式,兩者邏輯一致。
Web UI¶
Web UI 依賴宿主模塊表裏的 @deepseek-ai/dsh-client-store。如果宿主過舊或模塊缺失,設置頁可能加載失敗。CLI 不依賴 DSH 宿主,舊版本 dsh 上仍可使用。
CLI¶
CLI 不依賴 DSH 宿主,適合作爲 CI 閘門或本地審計工具。
# 審計默認 profile web
npx dsh-trust-check
# 審計其他 profile
npx dsh-trust-check --profile work
# 審計任意已解壓的包目錄(無需 profile、無需 DSH)
npx dsh-trust-check --dir ./path/to/plugin
# 指定 spec 並輸出 JSON
npx dsh-trust-check --dir ./pkg --spec npm:foo@1.0.0 --json
# 用退出碼做腳本 / CI 閘門
npx dsh-trust-check --dir ./pkg --exit-code
--dir 與 --profile 互斥。--json 輸出爲 AuditResponse 形狀。
核心功能¶
插件從插件源碼中提取靜態事實:
- 能力面:檢測 shell、文件讀寫、網絡、憑據、子代理、LLM 調用、環境變量。
- 注入面:檢測
cordis.patch.yml中的 override 或 disable 操作,以及systemPrompt注入。 - 來源面:驗證來源(package.json 的 repository),檢查是否鎖定版本或提交。
- 成本面:估算技能文本和 system-prompt 注入的 token 成本(參考值)。
報告解讀¶
報告採用決策優先佈局,閱讀順序如下:
- 決策:查看徽章、動作句及風險說明。
- 掃描:查看能力芯片、注入摘要、來源。
- 取證:查看證據(文件:行號 + 原文片段)。
常見裁決:
* 有紅線:命中硬紅線,默認應停用;需確認風險後繼續。
* 風險已確認:已確認當前紅線風險。
* 需確認:未見硬紅線,但有特權能力或 patch 改動。
* 能力如預期:已確認當前能力與去向指紋一致。
* 靜態未見風險信號:未見紅線或特權能力;不代表安全保證。
紅線(高置信度風險)¶
以下情況默認應攔截:
1. 聲明 install / postinstall / preinstall 安裝腳本(prepare 不算紅線)。
2. cordis.patch.yml override / disable 了 @deepseek-ai/* 核心 bundle。
3. 讀到憑據/密鑰的值(如 credentials.resolve、keytar.getPassword 等)且有網絡訪問。
4. 非 localhost、非 RFC 1918 內網 IP 的明文 http:// 外連(字面量)且有 network。
5. 非 loopback、非文檔例網、非 RFC 1918 內網(10/8、172.16/12、192.168/16)的字面量 IP 外連 且有 network。
集成與 API¶
插件導出穩定 API,供安裝前確認彈窗或 CI 閘門使用:
import { auditPlugin, collectPlugin, verdict } from 'dsh-trust-check'
const report = auditPlugin(collectPlugin(extractedDir, spec))
// verdict 返回 'red' | 'review' | 'clear'
// verdict(report) === 'red' → 命中高置信度風險信號,建議默認擋住
// verdict(report) === 'review' → 帶特權能力,建議展示能力清單
// verdict(report) === 'clear' → 靜態掃描未檢出,不代表安全
注意事項¶
- 非殺毒軟件:插件不做安全承諾,不提供背書。過濾策略由集成方和用戶決定。
- 靜態侷限:靜態掃描可能遺漏動態加載的能力(如
import('node:' + …))。 - 不展開依賴樹:目錄遍歷跳過
node_modules。 - 退出碼:默認退出碼始終爲 0。加
--exit-code後,0 代表未檢出,1 代表需確認,2 代表有紅線,3 代表掃描失敗。
總結¶
dsh-trust-check 是一個用於 DeepSeek Harness 插件的靜態審計工具,通過代碼分析提供能力披露和來源驗證,適合在安裝插件前進行快速篩查。