dsh-tool-vet:装第三方插件之前,先看它会动什么

前言

在 DSH 生态里,插件可以扩展智能体与开发环境的能力,但第三方包一旦装上,就可能带着 install 钩子、读本地凭据路径、出网或执行外部命令等行为。运行时权限类工具多在「已经运行」之后介入;依赖审计类工具则面向你自己项目里的依赖树,而不是「这一个包本身」在代码里写了什么。

下面介绍 dsh-tool-vet(npm 包名 @deepwhale-cn/dsh-tool-vet,仓库 feely0208/dsh-tool-vet)。它在安装第三方插件或包之前,对目标目录做静态审查,枚举值得警惕的能力,并给出文件、行号与依据;不下「安全 / 不安全」的结论,判断留给你。

这是什么

维护者 feely0208,分类为 admin-security,当前版本 0.1.0,许可证 MIT。插件一句话定位:装一个第三方插件/包之前,静态审查它会干什么——执行命令、读敏感路径、往外发数据、安装时自动跑什么。

README 明确划界:它不是沙箱(不拦截运行)、不是运行时权限审批、不是漏洞库比对(那是 dsh-dep-audit 的职责),也不替你做最终判定,只列能力。

与 dsh-dep-audit 的分工可以这样理解:

dep-audit  = 查【你自己项目】的【依赖树】
tool-vet   = 审查【一个第三方包本身】的【代码能力】

社区目录页:skillhub.cn/plugins/feely0208/dsh-tool-vet。DSH 插件由社区目录收录,与 DeepSeek / 幻方无官方从属关系。

它查什么(六条规则)

每条命中都会给出:哪个文件、第几行、该行代码片段、以及规则依据。

规则 查什么 级别
VET-INSTALL-SCRIPT 安装即自动执行(preinstall / install / postinstall) 高
VET-CRED-PATH 代码中出现 ~/.ssh、~/.aws、~/.npmrc 等凭据路径 高
VET-OBFUSCATION 拼接执行、超长编码串(MITRE ATT&CK T1027) 高
VET-OUTBOUND 会向网络发送数据 中
VET-EXEC 会执行外部命令 中
VET-DEP-SOURCE 依赖来自 registry 之外(git: / http: / file:) 中

判据是「值得警惕的能力」,不是合规法条;依据来自官方文档与公开威胁模型。

安装与启用

需要 DSH >=0.1.0-rc.6、Node >=18。在 web profile 下按官方 README 安装:

dsh plugin --profile web add @deepwhale-cn/dsh-tool-vet

安装任何 DSH 插件前,都应自行查看源码与许可证;插件以当前 dsh 进程权限运行,本文不替代你自己的安全评估。

典型用法

安装后通过 CLI dsh-tool-vet 使用。

审查本地目录(例如尚未安装的某个插件源码):

dsh-tool-vet --root /path/to/some-plugin

查看内置演示:README 说明这是一个「看着正常、实际会读私钥并外发」的假插件,用于对照六条规则:

dsh-tool-vet --demo

列出规则与依据:

dsh-tool-vet --list-rules

生成 HTML 报告:

dsh-tool-vet --root /path/to/some-plugin --html

演示包在 --demo 下会暴露:装时执行 scripts/setup.js、读取 ~/.ssh/id_rsa 等路径、base64 还原后 new Function() 执行、向 telemetry.example-collector.net 发 POST、child_process、以及从 git 直装依赖等——README 强调这些在装之前就能看见。

适用场景与边界

适合谁:在 DSH 或类似环境里要引入第三方插件、技能包或工具目录的开发者与管理员;希望在 npm install 或 dsh plugin add 之前,先做一次能力面扫描,再决定是否信任来源、是否隔离安装。

边界(来自 README):

  1. 只做静态审查。代码里动态拼出的路径、运行时从网络拉下的代码,扫描不到。
  2. 不判定意图。例如读 .ssh 对 SSH 工具可能是正常能力,报告是提示你确认,不是定罪。
  3. 不递归依赖内部,只审这一个包自己的代码;依赖树请用 dsh-dep-audit 等配套工具。
  4. 与深鲸网安守护系列中「供应链与构建」类插件可组合使用;dsh-tool-vet 专注「单包能力枚举」这一件事。

结尾

dsh-tool-vet 把第三方包在安装前的「会动什么」摊开成可核对的事实列表,适合作为供应链自检里的一站,而不是替代沙箱或运行时审批。

  • 目录页:https://www.skillhub.cn/plugins/feely0208/dsh-tool-vet
  • GitHub:https://github.com/feely0208/dsh-tool-vet
羽毛球分组比赛记分
小程序二维码

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

Xiaoye