dsh-plugin-sentinel:DeepSeek Harness 插件静态安全审计器

前言

DeepSeek Harness (DSH) 生态允许通过社区插件扩展功能。官方文档对 GitHub 安装方式的警告指出:prepare 脚本拥有在安装时执行代码的权限,且不受宿主沙盒限制。dsh-plugin-sentinel 是一款静态预安装审计工具,旨在解决“先过安检再安装”的需求。

是什么

这是一个零依赖、内存中解析 tar 包的静态安检工具。它由 BotonJ 维护,通过组合规则检测插件包中的潜在风险,并在安装前输出结构化的风险报告。

核心功能

该插件具备以下特性:

  1. 零依赖、零安装脚本、零构建:package.json 中无 scripts 和 dependencies,从 GitHub 安装无需额外授权,不存在安装期执行风险。
  2. 原生 JSON-Schema ToolDefinition 注册:全部源码仅依赖 Node 内置模块,不依赖任何运行时包。
  3. 纯 JS tar 解析:利用 node:zlib 和手写的 ustar/pax/GNU-longname 解析器,在内存中完成对 .tgz 文件的审计,恶意代码不落盘。
  4. 词法剥离扫描:先剥离注释和字符串字面量再匹配危险 API,防止误报;保留模板插值内的代码检测,防止漏报。
  5. 组合规则检测:例如 process.env 读取 × 网络出站 = 凭据外传特征。

安装与启用

通过以下命令将插件添加到指定的 profile:

dsh plugin --profile <你的profile> add github:<你的fork>/dsh-plugin-sentinel

典型用法

安装完成后,可以通过以下工具与模型交互:

  1. 审计特定插件:输入“帮我装 github:xxx/yyy 这个插件”,模型会调用 audit_plugin 进行安检。若风险等级为 block,安装将被拒绝。
  2. 审计已安装插件:输入“巡检我当前 profile 装过的插件安不安全”,模型会调用 audit_installed 检查所有社区 bundle。

审计结果按严重度排序,分级标准如下:
- pass:通过
- review:需人工审查
- block:建议拒绝

权重:critical=10 / high=5 / medium=2 / low=1。

审计覆盖范围

插件会对以下内容进行检查:

  • package.json:检测安装期生命周期脚本(critical)、伪装插件、运行时依赖。
  • JS/TS 源码:检测 child_process、eval/new Function/vm、网络出站、process.env 读取、文件写入、动态 require、homedir 探测。
  • 字符串字面量:检测敏感路径(.ssh、.env)、云凭据、外部 URL、长编码载荷(混淆特征)。
  • cordis.patch.yml:检测 !!js 表达式(加载期宿主执行,critical)、disabled: true 静默禁用安全行(critical)、重配置安全行(high)。
  • tarball 结构:检测路径穿越(critical)、软链接(high)、异常档案。

限制与说明

  • 扫描器局限:词法扫描器不是完整的 AST。针对蓄意构造的规避手法(如将恶意代码藏入插值内的伪注释)可能存在漏报。它面向捕获常见恶意模式,不承诺对抗性完备。
  • 权限说明:review 和 block 是建议,最终决定权在人。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

链接

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

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

小夜