DeepSeek Harness 插件

dsh-plugin-guard-mangshe3

Read-only, offline-first security scanner plugin for DeepSeek Harness plugins.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
MangShe3-0/dsh-plugin-guard
最近更新
2026年8月18日
分类
安全与权限
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/MangShe3-0/dsh-plugin-guard
插件名:dsh-plugin-guard-mangshe3
作者:MangShe3-0

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

DSH Plugin Guard

DeepSeek Harness 插件的安装前安全检查插件。默认离线、只读,不执行被扫描代码,不跟随符号链接,也不会把插件内容发送给大模型或第三方服务。

> 重要:静态扫描只能发现已知风险信号,不能证明插件安全。REVIEWABLE 的含义是“可以继续人工审查”,不是“绝对安全”。

能检查什么

  • 提示词注入:覆盖系统/用户指令、隐藏行为、工具描述投毒、中英文隐蔽指令
  • 文件勒索与破坏:递归删除、磁盘格式化、权限破坏、批量加密、赎金文本
  • 凭据与数据外传:环境变量枚举、SSH/云凭据、浏览器数据、secret → network 组合链
  • 供应链:安装生命周期脚本、下载即执行、未锁定依赖、编码载荷
  • 动态执行与越权:eval、shell/subprocess、持久化、自修改、关闭 TLS 校验
  • DSH 元数据:package.json 可解析性和 dsh.bundle.patch 激活声明
  • Unicode 欺骗:零宽字符与双向控制字符

评分按“唯一规则 + 同规则递减贡献”计算,避免大型插件仅因重复匹配就轻易满分。只要出现关键级问题,或多类高危问题组合,结论会直接变为 DO_NOT_INSTALL

安装到 DeepSeek Harness

在本目录生成 tarball,再安装到实际启动 Web UI 的同一个 profile。官方默认 Web UI 通常使用 web profile:

npm pack
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。DSH profile 彼此隔离,把插件装进 security 不会自动让 web profile 使用它。

Harness 仍处于 developer preview;本项目按 2026-08-18 可见的 @deepseek-ai/dsh RC 插件格式实现。升级 Harness 后应重新运行测试并核对 dsh.bundle.patch、Loader 和 defineTool 接口。

在 Harness 中使用

把待审插件先下载或解压到当前工作区,然后要求 Harness:

使用 plugin_guard_scan 扫描 ./untrusted-plugin,先不要安装或运行它。

工具默认只允许扫描当前 DSH 会话中经过验证的 session.header.cwd,不会使用 DSH 服务进程的启动目录。相对路径从该会话 workspace 解析;没有有效 workspace 时工具会拒绝扫描。需要增加额外的只读扫描根目录时,由用户在启动 Harness 前显式设置:

export DSH_PLUGIN_GUARD_ROOTS="/absolute/review/inbox:/another/allowed/root"

这些目录只会扩展当前会话 workspace,不会启用 process.cwd() 兜底。这个限制用于防止模型把扫描器当成任意文件读取工具。

独立命令行

不安装到 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

测试覆盖:干净插件、提示词注入与命令执行组合、凭据外传链、安装脚本、未锁定依赖、会话 workspace 解析、缺失 workspace 时失败、额外根目录和符号链接边界。

安全设计

  • 零运行时扫描依赖;不需要 API key。
  • 目标文件使用 lstat,符号链接直接跳过。
  • 单文件、总字节数、文件数和 finding 数都有硬上限。
  • 二进制文件不解析;被截断或预算耗尽时 scanComplete=false,结论至少为 CAUTION
  • 扫描证据限制长度,避免把大段恶意提示词重新注入模型上下文。
  • 插件工具只隐式信任 DSH 验证过的会话 workspace;CLI 仅扫描用户明确给出的路径。

参考方法

规则分类借鉴 NVIDIA SkillSpector 的两阶段安全分析、OpenClaw/Hermes 社区的提示词与凭据防护实践,以及 Agent Skills 供应链研究。此实现刻意把第一版限定为确定性的本地静态扫描;未来可在隔离进程中增加 AST、依赖漏洞库和可选语义复核,但语义模型绝不能直接服从被扫描内容。

已知边界

  • 不分析图片、加密文件、编译二进制或运行时下载后的真实行为。
  • 正则规则可能误报,也可能被高级混淆绕过。
  • 不联网查询 OSV/CVE;依赖漏洞需要另行使用可信的 SCA 工具检查。
  • 不替代沙箱、最小权限、网络出口控制、人工代码审查和可恢复备份。

发现绕过方式或误报,请先阅读 [SECURITY.md](./SECURITY.md)。