前言¶
在 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):
- 只做静态审查。代码里动态拼出的路径、运行时从网络拉下的代码,扫描不到。
- 不判定意图。例如读
.ssh对 SSH 工具可能是正常能力,报告是提示你确认,不是定罪。 - 不递归依赖内部,只审这一个包自己的代码;依赖树请用
dsh-dep-audit等配套工具。 - 与深鲸网安守护系列中「供应链与构建」类插件可组合使用;
dsh-tool-vet专注「单包能力枚举」这一件事。
结尾¶
dsh-tool-vet 把第三方包在安装前的「会动什么」摊开成可核对的事实列表,适合作为供应链自检里的一站,而不是替代沙箱或运行时审批。
- 目录页:https://www.skillhub.cn/plugins/feely0208/dsh-tool-vet
- GitHub:https://github.com/feely0208/dsh-tool-vet