dsh-plugin-audit:DSH 第三方插件的安全审计插件

前言

DSH 可以安装第三方插件。插件进入 profile 后,可能触达文件、进程、网络、环境变量和凭据路径。dsh-plugin-audit 提供静态权限画像和运行时哨兵,帮助管理员在运行第三方插件前判断它的权限面。

这是什么

dsh-plugin-audit 是 DeepSeek Harness 的安全审计插件,由 jkrandom-sudo 维护,许可证为 MIT,当前版本为 0.1.4。它做两件事:用 plugin_audit 静态扫描第三方插件,并在运行时对高风险工具调用请求审批。

核心功能

下面先介绍静态画像,再介绍运行时哨兵。

静态权限画像

plugin_audit 扫描一个插件目录。它会查看插件源码目录、package.jsoncordis.patch.yml,然后返回一张权限画像卡片,并附文件与行号证据。

静态扫描器会报告它发现的每一个网络面。它不根据 allowedHosts 做白名单过滤,也不做最终风险裁决;报告是给人工复核用的证据。

运行时哨兵

dsh-plugin-audit 监听 DSH 的 tools/pre-execute 事件。当一次待执行工具调用命中以下规则时,哨兵会请求审批:

1、工具参数引用了凭据路径;
2、工具调用外发数据,目标主机不在 allowedHosts 中;
3、写工具目标是 home 目录下的 dotfile。

如果没有可用审批通道,插件会拒绝该工具调用,而不是静默放行。

哨兵只检查工具调用名称和参数,不读取文件、环境变量,也不检查调用参数之外的会话内容。

只读约束

扫描器按约定只读。每一份报告都携带 writesPerformed: false。可选的 invariant companion 可以强制这个标记。

扫描器的扫描边界如下:

  • 最多 400 个文件,单文件上限 256 KB;
  • 跳过 node_modules.gitlibdist
  • 不跟随符号链接目标;
  • 基于源码文本,而不是 AST,因此字符串和注释也可能被报告;
  • 只包含构建产物的包至少会得到 NOTICE 级别;
  • 插件不发起网络调用,也没有遥测;报告中的主机是从被扫描文本中提取的,不会被访问。

安装与启用

先安装到 web profile:

dsh plugin --profile web add dsh-plugin-audit

经过上面的步骤后,在已安装该插件的 profile 中使用 plugin_audit

移除插件:

dsh plugin --profile web remove dsh-plugin-audit

典型用法

在会话中可以使用这样的示例:

Audit the plugin at ~/some-third-party-plugin with plugin_audit

也可以直接调用工具:

{
  "path": "/absolute/path/to/plugin",
  "format": "markdown"
}

这里 path 指向要审计的插件目录,formatmarkdown

配置

哨兵和允许主机通过 profile 的 cordis.patch.yml 配置:

sentinelEnabled: true
allowedHosts:
  - example.com
  - api.example.com

sentinelEnabled 控制运行时哨兵是否启用;allowedHosts 配置允许的外发主机。静态扫描器不受 allowedHosts 影响。

兼容性

要求
DSH mainline verified against 2026-08-14 snapshot
Node.js ^22.19.0 || >=24.0.0
Cordis ^4.0.0-rc.7(peer dependency)

适用场景与注意

适合在以下场景使用:

  • 安装 DSH 第三方插件前,先查看它的权限画像;
  • 在运行时拦截引用凭据路径、访问未知主机或写入 home dotfile 的工具调用;
  • 为不同 profile 配置不同的 allowedHosts

注意:DSH 插件以当前 DSH 进程权限运行。安装前应检查源码、许可证和配置项。审计卡片是证据,不等于安全结论;对敏感插件,应人工复核文件、网络、进程和凭据相关发现。

链接

GitHub 仓库:https://github.com/jkrandom-sudo/dsh-plugin-audit

目录页:https://www.skillhub.cn/plugins/jkrandom-sudo/dsh-plugin-audit

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

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

小夜