dsh-skill-scan:DSH 技能与插件包的静态只读安全初筛

前言

在 DeepSeek Harness(DSH)里安装第三方 skill 或插件 bundle,常见做法是直接 dsh plugin add 或把目录交给智能体处理。bundle 里可能包含 SKILL 指令、Cordis 补丁、npm 生命周期脚本等文本;在未审阅前执行或安装,存在指令覆盖、远程拉脚本、凭证路径引用等供应链风险。手工逐文件 grep 可行但易漏、难统一口径。

dsh-skill-scan 由 lengrufeng2008 维护,归类为 admin-security,对 bundle 做静态、只读的第一遍安全扫描:不执行 bundle 内容,用启发式规则标出需要人工解释的高风险片段。思路受 NVIDIA SkillSpector 供应链检查启发,实现为小型 DSH 工具与 CLI(见仓库 NOTICE.md,未复制其源码)。社区目录页:https://www.skillhub.cn/plugins/lengrufeng2008/dsh-skill-scan;源码:https://github.com/lengrufeng2008/dsh-skill-scan。SkillHub 为社区独立站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

一句话:对 DSH skills 与 plugin bundle 做静态只读安全初筛(Static, read-only security first pass)。

维护者 lengrufeng2008;当前 package 版本 0.1.0,MIT 许可证,Node.js >= 20。它不是沙箱、AST 污点分析、OSV 漏洞库或运行时监控;PASS 仅表示在当前规则下未发现命中项,不能当作「已证明安全」。

核心功能:扫描器会找什么

README 列出的启发式检测方向包括:

  • 指令覆盖 / 外泄类表述(instruction override / exfiltration language)
  • curl ... | sh 一类远程 shell 模式
  • 破坏性 root/home 删除相关表述
  • 凭证路径(如 .ssh/id_rsa、.aws/credentials)
  • eval / new Function
  • 过长编码 payload
  • 隐藏 Unicode(双向文本 / 零宽字符等)
  • package 生命周期脚本(lifecycle scripts)
  • Cordis 补丁中的 !!js

命中高严重项时结果可为 BLOCK;也可能出现 WARN。安全文档引用攻击手法、合法包使用 lifecycle script 等会产生误报,需结合上下文读具体文件与行号。

安装与启用

DSH 侧按 README 示例从本地路径加入插件(路径需换成你本机 clone 或下载后的目录):

dsh plugin --profile web add /home/lrf/dsh/products/dsh-skill-scan

安装后可在对话中让智能体使用该工具,例如 README 建议的表述:「Use skill_scan on this bundle.」工具行为为只读扫描。

独立使用 CLI 时,在仓库根目录通过 Node 调用 bin/dsh-skill-scan.mjs(亦可通过 npm 包配置的 dsh-skill-scan 入口,视你的安装方式而定)。

典型用法

对某个 bundle 目录做扫描:

node bin/dsh-skill-scan.mjs /path/to/bundle

需要机器可读输出时:

node bin/dsh-skill-scan.mjs /path/to/bundle --json

退出码含义(README 原文):

  • 1:存在 BLOCK 级发现
  • 0:PASS 或 WARN
  • 2:输入无效

出现 BLOCK 时,安装或合并前应打开报告中的文件与行号自行判断;扫描器不会替你执行或隔离代码。

仓库内测试(fixtures 含故意不安全的 bundle,测试仅按文本读取、不执行):

npm test

适用场景与注意

适合:在 CI 或安装前对第三方 skill / plugin bundle 做统一、可重复的文本级初筛;与人工 code review 配合,而不是替代。

务必注意:

  • 插件与 CLI 在当前 dsh / 用户进程权限下读取文件;安装插件前仍应检查源码、许可证与维护者信息。
  • 不要因 PASS 跳过审阅;不要因单条 BLOCK 在未读上下文时直接否决——README 明确说明误报可能。
  • 安装命令以 README 为准;勿凭插件名臆造 dsh plugin add github:owner/repo 等形式。

结尾

dsh-skill-scan 把第三方 bundle 的安全检查收成一条可脚本化的只读第一遍:规则覆盖指令劫持、远程 shell、凭证路径、混淆与 Cordis !!js 等常见红旗,并区分 PASS / WARN / BLOCK 与 CLI 退出码。更深的安全仍依赖人工读代码与组织策略。

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

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

小夜