前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。当开发者需要引入第三方插件或审查社区代码时,直接运行或安装可能带来风险,包括提示词注入、供应链投毒或潜在的恶意行为。dsh-plugin-guard 旨在解决这一安装前验证问题,提供静态安全扫描能力。
插件定位¶
这是一个 DeepSeek Harness 插件的安装前安全检查插件。它默认离线、只读,不执行被扫描代码,也不跟随符号链接,更不会把插件内容发送给大模型或第三方服务。
插件由开发者 MangShe3-0 维护,采用 MIT 许可证。
核心功能¶
插件通过静态分析检查以下风险信号:
- 提示词注入:覆盖系统/用户指令、隐藏行为、工具描述投毒、中英文隐蔽指令。
- 文件勒索与破坏:递归删除、磁盘格式化、权限破坏、批量加密、赎金文本。
- 凭据与数据外传:环境变量枚举、SSH/云凭据、浏览器数据、secret → network 组合链。
- 供应链:安装生命周期脚本、下载即执行、未锁定依赖、编码载荷。
- 动态执行与越权:eval、shell/subprocess、持久化、自修改、关闭 TLS 校验。
- DSH 元数据:package.json 可解析性和 dsh.bundle.patch 激活声明。
- Unicode 欺骗:零宽字符与双向控制字符。
安装与启用¶
安装前,请确保在当前目录生成了 tarball 包:
npm pack
随后,将包安装到实际启动 Web UI 的同一个 profile。官方默认 Web UI 通常使用 web profile:
dsh plugin --profile web add ./dsh-plugin-guard-0.1.1.tgz
dsh --profile web --dump-config
配置中出现 id: plugin-guard 即表示安装成功。随后停止并重新运行 dsh web,新建对话即可获得 plugin_guard_scan 工具。自定义 profile 用户需将上述命令中的 web 替换为实际运行的 profile 名称。
典型用法¶
在 Harness 中使用¶
将待审插件下载或解压到当前工作区,在对话中要求 Harness 扫描:
使用 plugin_guard_scan 扫描 ./untrusted-plugin,先不要安装或运行它。
工具默认只允许扫描当前 DSH 会话中经过验证的 session.header.cwd。相对路径从该会话 workspace 解析。若需扫描额外目录,需在启动 Harness 前设置环境变量:
export DSH_PLUGIN_GUARD_ROOTS="/absolute/review/inbox:/another/allowed/root"
独立命令行¶
不安装到 Harness 也能直接扫描:
node ./bin/dsh-plugin-guard.js /path/to/plugin
node ./bin/dsh-plugin-guard.js /path/to/plugin --json
退出码说明¶
- 0:可继续人工审查。
- 1:谨慎,存在部分风险。
- 2:不要安装,存在高危风险。
- 3:扫描失败。
验证与测试¶
插件自带测试套件,确保扫描逻辑正确:
npm test
npm run check
适用场景与注意事项¶
该工具适用于需要在引入外部 DSH 插件前进行安全评估的开发者。它基于静态规则分析,退出码 0 仅代表“可以继续人工审查”,不代表“绝对安全”。
已知边界:
* 静态扫描只能发现已知风险信号,不能证明插件安全。
* 不分析图片、加密文件、编译二进制或运行时下载后的真实行为。
* 正则规则可能误报,也可能被高级混淆绕过。
* 不联网查询 OSV/CVE;依赖漏洞需要另行使用可信的 SCA 工具检查。
* 不替代沙箱、最小权限、网络出口控制、人工代码审查和可恢复备份。
参考资料¶
- 项目地址:https://github.com/MangShe3-0/dsh-plugin-guard
- 目录页:https://www.skillhub.cn/plugins/MangShe3-0/dsh-plugin-guard