前言¶
DeepSeek Harness(DSH)採用“一切皆插件”的架構,開發者通常通過添加外部插件來擴展能力。在引入第三方插件時,直接運行未經驗證的代碼存在供應鏈投毒風險。dsh-poison-guard 是一個預安裝的供應鏈投毒掃描器,旨在解決這一問題。它不會執行插件代碼,而是在你執行 dsh plugin add 之前,通過靜態分析檢查代碼中是否存在惡意行爲。
核心能力¶
該插件通過三層檢測機制來識別潛在威脅:
-
AST 分析
使用 NodeSecure JS-X-Ray 進行靜態應用安全測試(SAST)。它能追蹤變量、解析動態導入、識別混淆器,並檢測eval/Function/vm等危險操作,以及數據外泄、環境變量序列化、危險 shell 命令等風險。 -
反混淆解碼
解碼常見的編碼模式,包括atob()、Buffer.from(..., "base64"/"hex")、String.fromCharCode(...)以及\xNN、\uNNNN轉義序列。解碼後會重新掃描解密後的字符串,尋找隱藏的密鑰、URL 和 shell 命令。 -
正則啓發式
作爲最後一道防線,用於匹配明顯字面量、非代碼文件以及prepare/postinstall/install/preinstall等安裝時腳本中的可疑內容。
安裝與啓用¶
在 DSH 中添加該插件掃描工具:
dsh plugin --profile web add github:zoahdev/dsh-poison-guard
安裝完成後,該工具會作爲一個獨立的命令行工具集成到 DSH 環境中。
使用方法¶
安裝後,可以通過命令掃描任意本地插件目錄。掃描結果通過退出碼返回:0 表示代碼乾淨,1 表示發現威脅,適合用於 CI 流程中的門禁檢查。
# 掃描指定插件目錄
dsh-poison-guard scan ./some-plugin
# 輸出機器可讀格式(用於 CI)
dsh-poison-guard scan ./some-plugin --json
適用場景與注意¶
- 靜態檢測:該工具僅進行靜態分析,不會執行插件代碼或觀察運行時行爲。
- 混淆限制:雖然能處理常見的簡單混淆,但強混淆(如結合字符串數組和控制流平坦化的工具)可能仍然能隱藏惡意載荷。
- 誤報:AST 層的敏感度被調至“激進”級別,以換取最大可見性,因此良性代碼(如確實使用了
eval的合法邏輯)也可能被標記。 - 沙箱依賴:該插件本身不強制執行沙箱策略。真正的安全邊界依賴於 Harness 的沙箱配置,未驗證插件應始終限制在
workspace-write權限,避免danger-full-access。
這是一個社區維護的模板項目,遵循 MIT 許可證,並非 DeepSeek 官方產品。