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)。在生产环境中,仍需配合其他安全措施使用。