dsh-plugin-sentinel:DeepSeek Harness 插件靜態安全審計器

前言

DeepSeek Harness (DSH) 生態允許通過社區插件擴展功能。官方文檔對 GitHub 安裝方式的警告指出:prepare 腳本擁有在安裝時執行代碼的權限,且不受宿主沙盒限制。dsh-plugin-sentinel 是一款靜態預安裝審計工具,旨在解決“先過安檢再安裝”的需求。

是什麼

這是一個零依賴、內存中解析 tar 包的靜態安檢工具。它由 BotonJ 維護,通過組合規則檢測插件包中的潛在風險,並在安裝前輸出結構化的風險報告。

核心功能

該插件具備以下特性:

  1. 零依賴、零安裝腳本、零構建:package.json 中無 scripts 和 dependencies,從 GitHub 安裝無需額外授權,不存在安裝期執行風險。
  2. 原生 JSON-Schema ToolDefinition 註冊:全部源碼僅依賴 Node 內置模塊,不依賴任何運行時包。
  3. 純 JS tar 解析:利用 node:zlib 和手寫的 ustar/pax/GNU-longname 解析器,在內存中完成對 .tgz 文件的審計,惡意代碼不落盤。
  4. 詞法剝離掃描:先剝離註釋和字符串字面量再匹配危險 API,防止誤報;保留模板插值內的代碼檢測,防止漏報。
  5. 組合規則檢測:例如 process.env 讀取 × 網絡出站 = 憑據外傳特徵。

安裝與啓用

通過以下命令將插件添加到指定的 profile:

dsh plugin --profile <你的profile> add github:<你的fork>/dsh-plugin-sentinel

典型用法

安裝完成後,可以通過以下工具與模型交互:

  1. 審計特定插件:輸入“幫我裝 github:xxx/yyy 這個插件”,模型會調用 audit_plugin 進行安檢。若風險等級爲 block,安裝將被拒絕。
  2. 審計已安裝插件:輸入“巡檢我當前 profile 裝過的插件安不安全”,模型會調用 audit_installed 檢查所有社區 bundle。

審計結果按嚴重度排序,分級標準如下:
- pass:通過
- review:需人工審查
- block:建議拒絕

權重:critical=10 / high=5 / medium=2 / low=1。

審計覆蓋範圍

插件會對以下內容進行檢查:

  • package.json:檢測安裝期生命週期腳本(critical)、僞裝插件、運行時依賴。
  • JS/TS 源碼:檢測 child_process、eval/new Function/vm、網絡出站、process.env 讀取、文件寫入、動態 require、homedir 探測。
  • 字符串字面量:檢測敏感路徑(.ssh、.env)、雲憑據、外部 URL、長編碼載荷(混淆特徵)。
  • cordis.patch.yml:檢測 !!js 表達式(加載期宿主執行,critical)、disabled: true 靜默禁用安全行(critical)、重配置安全行(high)。
  • tarball 結構:檢測路徑穿越(critical)、軟鏈接(high)、異常檔案。

限制與說明

  • 掃描器侷限:詞法掃描器不是完整的 AST。針對蓄意構造的規避手法(如將惡意代碼藏入插值內的僞註釋)可能存在漏報。它面向捕獲常見惡意模式,不承諾對抗性完備。
  • 權限說明:review 和 block 是建議,最終決定權在人。插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。

鏈接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜