安全研究机构Unit 42近日披露,一个名为ChainDrop的自传播蠕虫已感染超过400个npm软件包,将日常软件安装过程变成窃取凭据的通道。受影响范围涉及开发者笔记本电脑、构建系统乃至云环境。

ChainDrop的隐蔽之处在于,被污染的软件包仍能正常运行。团队往往难以察觉,一次看似普通的依赖更新,已经为攻击者打开了进入内部环境的大门。该恶意软件通过受信任的发布账户扩散:被投毒的包在安装阶段执行恶意脚本,搜索有价值的访问令牌,并利用窃取的npm凭据修改和重新发布更多软件包。

打开网易新闻 查看精彩图片

这种自动化循环意味着,一个被攻陷的开发者或构建运行器,就可能让大量下游用户相继受害。Unit 42在报告中指出,相关活动已触及每周下载量达数亿次的软件包。研究人员在五个账户中发现了453个公共仓库,其行为特征与蠕虫的数据窃取模式相符,不过这些账户目前仍被视为“可能受害”而非“已确认受害”。

这一事件再次凸显软件供应链攻击的威胁。攻击者不再依赖虚假网站或钓鱼邮件,而是滥用开发者对包注册表、发布自动化流程和常见开源依赖的信任。威胁可能从代码项目横向蔓延至云账户和生产管道,造成远超单台设备受损的连锁影响。

ChainDrop的感染方式相当隐蔽:恶意版本保留了原始代码,额外添加安装时指令、投放器和混淆后的有效载荷。这种低姿态策略让被篡改的发布包看起来与正常版本无异,在开发者和代码审查过程中都能蒙混过关。一旦安装,恶意软件便可在工作站或持续集成任务中安静运行,收集npm和GitHub令牌、云凭据、SSH密钥、环境文件以及开发者工具配置数据,甚至可瞄准GitHub Actions运行器内存中的临时密钥,获取原本不会落盘的高价值信息。