前言¶
DSH 的插件生態強調“一切皆插件”。插件可以擴展命令、工具和工作區能力,但也意味着第三方代碼會進入本地運行環境。對於智能體開發者來說,常見問題是:插件裏有沒有惡意調用?會不會注入提示詞?會不會產生不必要的 token 消耗?手動審查源碼、安裝腳本和工具調用成本高,而且運行時危險動作也很難逐條盯住。
下面介紹 bigclawd/dsh-security-guard。它把安裝前靜態掃描和運行時危險動作攔截放到同一套機制裏,並用 block / warn / clean 給出結論。
這是什麼¶
dsh-security-guard 是 bigclawd 維護的 DeepSeek Harness 安全插件,許可證爲 MIT。
它定位爲靜態掃描與運行時防護:掃描 DSH 插件和工作區中的惡意代碼、上下文注入與 token 浪費,攔截危險的運行時工具調用和提示步驟,並暴露 /scan 命令、plugin_scan 工具、掃描 Web 面板和用戶管理的 allowlist。
它的關鍵約束是:靜態分析部分只做靜態分析,不導入、不求值、不執行被掃描的代碼。
核心功能¶
- 靜態掃描:對源文件做規則分析;被掃描代碼不會被導入或執行。
- 運行時觀察:在危險工具調用、提示步驟和文件操作發生前進行攔截。
- 結果分類:結論歸類爲
block、warn或clean,可寫入 JSON 或人類可讀報告。 - 規則擴展:規則爲普通 JSON,可按
id覆蓋。 - 安裝鉤子:通過 profile-manifest watcher 自動掃描新安裝的插件。
- 使用入口:
/scan命令、plugin_scan工具、即時 Web 面板、用戶管理 allowlist。
運行時觀察默認啓用。
安裝¶
在默認 profile 中安裝:
dsh plugin --profile default add dsh-security-guard
在宿主應用中啓用¶
下面是資料給出的宿主應用配置示例。它配置規則目錄、掃描大小限制、運行時攔截、allowlist 文件、Web 面板路徑和安裝鉤子輪詢間隔。
ctx.plugin(Guard, {
rulesDir: 'config/guard-rules',
scan: {
maxFiles: 5000,
maxFileSize: 4 * 1024 * 1024,
skipSegments: ['node_modules', '.git', 'dist', 'lib']
},
runtime: {
enabled: true,
blockOnSeverity: ['block'],
maxFindingsPerScan: 200
},
allowlist: {
file: 'data/guard-allowlist.json'
},
web: {
enabled: true,
path: '/scan'
},
installHook: {
enabled: true,
intervalMs: 5000
}
})
這段配置的作用是把插件註冊到宿主應用,並指定靜態掃描、運行時攔截、allowlist 和 Web 面板的運行參數。
典型用法¶
靜態掃描¶
對人可讀報告:
/scan ./plugin-dir
輸出機器可讀 JSON:
/scan ./plugin-dir --json
寫入指定報告文件:
/scan ./plugin-dir --json --out report.json
plugin_scan 工具¶
也可以使用 plugin_scan 工具,參數爲:
target, severity, json, out
Web 面板¶
Web 面板由 harness web server 在配置路徑下提供,默認路徑爲:
/scan
適用場景與注意¶
適合以下場景:
- 安裝第三方 DSH 插件前做靜態檢查。
- 對工作區文件做掃描和報告輸出。
- 對運行時工具調用和提示步驟做危險動作攔截。
- 用 JSON 規則、allowlist 和 severity 覆蓋維護掃描策略。
需要注意:
- 插件會獲得當前 dsh 進程權限。使用前應檢查源碼、許可證和安裝時執行行爲。
- 建議先掃描再安裝。惡意
postinstall會在包安裝時運行;先用/scan檢查目標包,再執行dsh plugin add。 - 誤報可能存在。允許使用 allowlist 和
ruleSeverity覆蓋處理。 - 混淆是軍備競賽。該插件是風險降低層,不是安全證明。
結尾¶
dsh-security-guard 的價值在於把插件安裝前檢查、工作區掃描和運行時危險動作攔截整合到 DSH 中使用,並用 block / warn / clean 給出可審計的結果。
GitHub 倉庫:
https://github.com/bigclawd/dsh-security-guard
本文資料未提供已覈實的社區目錄頁鏈接。