dsh-mcp-audit:審計 MCP 配置中的供應鏈與暴露面風險

前言

在 DeepSeek Harness(DSH)或各類 Agent 開發環境裏,Model Context Protocol(MCP)服務常被用來擴展讀寫文件、調用工具等能力。配置往往寫在本地 JSON 裏,不一定進版本庫,也很少有人按安全基線逐項覈對。常見寫法例如用 npx -y 拉取未鎖版本的 npm 包:每次啓動都可能拿到上游最新版,一旦供應鏈被投毒,Agent 在調用該 MCP 時就會執行不可信代碼。npm 依賴有專門的審計工具,但 MCP 服務端聲明(命令、參數、遠端 URL)是另一條攻擊面。下面介紹維護者 feely0208 在 DSH 插件目錄中歸類爲 admin-security 的 dsh-mcp-audit(npm 包名 @deepwhale-cn/dsh-mcp-audit),它針對 MCP 配置文件做靜態規則檢查,不替代對 MCP 服務源碼的審查。

這是什麼

dsh-mcp-audit 是一款 DSH 安全類插件,當前 npm 版本爲 0.1.1(MIT 許可證)。定位一句話:審計 MCP 配置裏的未鎖定遠端包、明文端點、可執行本地服務。倉庫地址:https://github.com/feely0208/dsh-mcp-audit;社區目錄頁:https://www.skillhub.cn/plugins/feely0208/dsh-mcp-audit。DSH 社區插件站點(如 dsh-plugin.org)與 DeepSeek / 幻方無官方從屬關係,安裝前仍建議自行查看源碼與許可證。

MCP 服務通常比普通插件權限更大(文件、工具、賬號相關能力),而配置分散在個人機器上時更難被團隊流程覆蓋。本插件只做「配置長什麼樣」的規則掃描,與 dsh-dep-audit 分工明確:後者查 npm 依賴,本插件查 MCP 配置。

它查什麼

規則按 README 中的分級如下(具體條目與依據可用 --list-rules 查看):

級別 內容
高 npx -y 未鎖版本;明文 http:// 端點
中 指向本地可執行文件或腳本
低 倉庫裏找不到 MCP 配置

README 用未鎖版本的 filesystem 服務舉例:配置類似 "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem"] 時,每次啓動都會拉最新包,且缺少可回滾的版本記錄;將包名鎖到具體版本(如 @2024.11.0)可緩解「上游悄悄改包」一類風險。

安裝與啓用

運行環境要求(來自 package.json):Node.js >= 18,DSH >= 0.1.0-rc.6。

在 DSH 中安裝(Web 配置檔):

dsh plugin --profile web add @deepwhale-cn/dsh-mcp-audit

不通過 DSH 插件機制、僅作 CLI 使用時:

npx @deepwhale-cn/dsh-mcp-audit

插件以當前 dsh / node 進程權限讀取本機上的 MCP 配置路徑;安裝或 npx 執行前,請確認你信任該包來源並閱讀倉庫代碼。

典型用法

安裝後可通過 dsh-mcp-audit 命令行入口操作。README 給出的示例:

先看演示檢出效果:

dsh-mcp-audit --demo

列出規則及依據,便於對照整改:

dsh-mcp-audit --list-rules

生成 HTML 報告(示例輸出文件名爲 r.html):

dsh-mcp-audit --html r.html

官方 README 附有演示輸出、規則列表與 HTML 報告截圖(託管於 deepwhale.org.cn 的 plugin-assets),可作爲預期輸出參考。

適用場景與邊界

適合誰:在本地或 CI 中爲 Agent / IDE 維護 MCP 配置的開發者;希望在接 MCP 進 Agent 前做一層配置 hygiene 的團隊。

邊界(README 明確說明):

  1. 只審配置,不審服務本身 —— 服務代碼是否外發數據、邏輯是否惡意,本工具看不到。
  2. 鎖定版本不等於絕對安全 —— 能防「上游悄悄改」,防不了「包本身惡意」。
  3. 與依賴審計插件互補,不能替代最小權限、密鑰掃描等其它 guard 能力。

本插件是工具軟件;使用者須遵守所在地區法律法規,對使用後果自行承擔責任。

結尾

dsh-mcp-audit 把 MCP 配置裏幾類高頻風險(未鎖遠端包、明文 HTTP、本地可執行路徑、缺失配置)收成可重複的 CLI / DSH 插件流程,適合在擴 MCP 能力前先做一輪配置審計。進一步瞭解與安裝:

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

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

小夜