DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在構建基於 DSH 的智能體時,LLM 可能會生成執行危險系統命令或無意中泄露敏感憑證的指令。dsh-safeguard 插件掛載在 tools/pre-execute 流水線中,在工具解析前進行短路拒絕,確保被攔截的副作用不會發生。
dsh-safeguard 是一個面向 DeepSeek Harness 的安全插件,用於攔截危險命令和密鑰泄漏。該插件由 ZhijiangTang 維護,基於正則啓發式規則進行匹配。
核心功能¶
該插件提供兩類攔截能力:
- 危險命令攔截:對
bash工具的命令做正則匹配,命中即拒絕。默認規則包括rm -rf、git push --force、git reset --hard、git clean -fd、chmod -R 777、mkfs、dd寫盤、重定向到塊設備、curl \| sh管道執行以及 SQL 的DROP/DELETE/TRUNCATE語句。 - 密鑰泄漏攔截:對所有工具的 arguments 做
JSON.stringify後掃描常見密鑰模式。默認規則包括 AWS Access Key (AKIA...)、sk-開頭的 API Key、GitHub PAT (ghp_,github_pat_)、PEM 私鑰、Slack Token (xox-)。注意:eyJ開頭的長 JWT 不攔截,因模式太寬誤報率高。
安裝與啓用¶
在命令行執行以下命令安裝:
dsh plugin --profile <profile> add dsh-safeguard
安裝後,需要在 profile 的 cordis.patch.yml(或 bundle 配置)中覆蓋配置項以啓用功能:
- insert:
- id: guard
name: dsh-safeguard
config:
enableDanger: true # 危險命令攔截開關
enableSecrets: true # 密鑰泄漏攔截開關
extraPatterns: # 額外危險命令正則
- 'curl.*\\|.*bash'
allowList: # 精確豁免名單
- 'rm -rf /tmp/safe-dir'
調試與輔助工具¶
插件提供兩個輔助工具供調試使用:
- guard_list:列出當前啓用的規則類別與條目數。
- guard_check:純檢查工具,不攔截。接收
text參數,返回命中規則名、類別或是否豁免。例如guard_check("rm -rf /")會返回類別danger和規則rm -rf。模型可通過await tools.guard_check({ text: "..." })進行程序化自檢。
適用場景與注意¶
該插件僅攔截明顯的高風險動作,基於正則啓發式匹配,不驗籤、不識別密鑰真僞、不做沙箱隔離。它無法替代密鑰掃描器(如 gitleaks)、簽名校驗或操作系統級沙箱(如 dsh-bash-sandbox)。在生產環境中,仍需配合其他安全措施使用。