2025年10月,安全公司Koi Security揭露了一起大规模的NPM包攻击行动,代号为PhantomRaven。攻击者共上传了126个恶意包,利用远程动态依赖(Remote Dynamic Dependencies,RDD)技术,规避了大多数NPM生态系统的安全检测工具。随后,另一家安全公司Sonatype又发现了83个恶意包,使此次攻击涉及的包总数超过200个。近期最新发现表明,该攻击活动仍在持续。
安全公司Endor Labs发出警告,称在2025年11月至2026年2月期间,共监测到三波PhantomRaven攻击,攻击者先后上传了88个恶意包。值得注意的是,其中81个包至今仍未被移除,三个命令与控制(C2)服务器中有两个仍在运行。
该公司通过关联基础设施指标、代码相似性以及攻击者的行为模式,追踪了PhantomRaven活动的演变。他们发现,攻击者频繁更换基础设施,调整PHP端点名称、依赖包名称和NPM包描述等细节,并使用了超过50个一次性NPM账户。尽管三波攻击在细节上有所变化,但Endor Labs强调,其底层恶意负载基本保持不变。
一旦开发者安装了这些恶意包,系统便会读取package.json文件,发现指向攻击者C2服务器的依赖项,并下载以.tgz格式打包的NPM包。该依赖包内预先植入了挂钩的index.js文件,会从开发环境中收集敏感信息,包括.gitconfig、.npmrc、环境变量中的邮箱地址,并扫描GitHub、GitLab、Jenkins、CircleCI等CI/CD系统的访问令牌(Token),以及IP地址、主机名、操作系统等系统信息,最终通过HTTP GET、HTTP POST和WebSocket协议,将所有数据发送至攻击者的服务器。
Endor Labs指出,后三波攻击的节奏明显加快。第二波攻击中,攻击者于2025年11月13日上传首个包,一个月后在12月15日至2026年1月30日期间陆续上传多个包;而在2月5日至10日,攻击者在短短六天内一次性上传了20个包。
第三波攻击发生在2月13日至17日,攻击者在五天内通过超过25个账户上传了34个包,其中第一天仅上传2个,但后续曾出现单日上传12个包的情况。最后一波攻击发生在2月18日,攻击者仅上传了4个包。
在Endor Labs发布相关报告后,曾有传言称这些包是知名安全研究员的实验项目。但该公司指出,多个特征明显不符合学术研究的常规做法:首先,这些包收集的信息远超正常安装所需;其次,恶意代码直接内嵌了Beacon通信机制;再者,没有任何迹象表明其用于研究目的;此外,攻击者刻意在不同包之间轮换账户和邮箱,这与安全研究人员的透明、可追溯行为完全不符。
2026年3月12日,这些包的所有者修改了代码,移除了大量信息收集功能。Endor Labs表示,这表明恶意包依赖于NPM仓库外部的代码,攻击者可完全控制有效载荷,无需发布新版本即可动态更改或禁用恶意行为。