安装脚本扫描是 DSH Quality 中被问得最多的部分。插件运行安装脚本时,它在 npm install 期间于你的机器上获得任意代码执行能力——这正是恶意包想要的。下面是我们的 dsh 安装脚本扫描在底层如何工作。
扫描器检查什么
我们检查包清单与安装期间运行的脚本,寻找良善插件中绝不应出现的模式:
- curl / wget 管道到 sh 或 bash——经典的远程代码执行模式。
- postinstall 中的 Base64 编码命令或混淆字符串。
- 网络外传调用(POST 到未知端点、读取 env 文件)。
- 触及主目录或 ssh 密钥的文件系统清扫器。
- 包管理器重装循环或自修改脚本。
它会漏掉什么
启发式不是安全证明。坚定的攻击者可以混淆字符串匹配、在运行时获取 payload、或把行为藏在依赖中。这就是为什么扫描器把"危险安装脚本"标记为等级硬否决——但标记缺失不等于完全干净。
如何解读结果
- 危险安装脚本标记:不要安装。即使评估也要在隔离环境运行。
- 缺失 dsh.bundle:先验证插件能加载再信任;它是警告,不是恶意的保证。
- 无标记:如果你打算以特权访问运行它,仍要审查插件仓库。
扫描器的目标是在几秒内让风险 dsh 插件可见。把它当作你的第一道过滤器——不是最后一道。