广泛使用的NPM包Axios遭遇软件供应链攻击,引发广泛关注,甚至传出OpenClaw用户也可能受到波及。
安全公司SafeDep、Socket、StepSecurity以及Elastic旗下的安全实验室发布警告,他们在3月30日发现Axios的NPM包遭到入侵。攻击者劫持了知名维护者jasonsaayman的NPM凭据,在绕过GitHub Actions发布流程的情况下,发布了包含恶意代码的1.14.1与0.30.4版本。若开发者不慎下载并安装,其设备可能被植入RAT木马,Windows、macOS和Linux用户均在攻击目标范围内。由于该包每周下载量高达一亿次,此次事件影响范围极大。若已安装上述版本的用户,必须立即更换相关密钥与凭据,并降级至1.14.0或0.30.3版本以应对。
Axios是JavaScript生态系统中最普及的HTTP客户端库,广泛应用于前端框架、后端服务和企业应用。此次大规模供应链攻击事件,很容易让人联想到上周在五大生态系统发起攻击的黑客组织TeamPCP,但最早披露此事的Socket表示,目前尚无证据表明该组织与此事件有关。
Socket指出,受感染的Axios版本并未出现在其GitHub仓库的标签中。通常Axios开发团队会同步发布GitHub标签与NPM包,而他们在发现攻击时,GitHub仓库最新的标签仍是v1.14.0,表明有问题的NPM包显然未通过标准发布流程上线。
此外,他们提到,在事件初期,Axios的维护人员一度失去对项目的控制权。其中一名维护者在GitHub上表示,攻击者的权限高于他们自身,导致其他维护者无法注销被劫持的账户。
上述安全公司与研究团队指出,攻击者并未直接在Axios源码中植入恶意代码,而是注入了一个此前从未在Axios中出现过的依赖包。该依赖包的功能是执行特定脚本,并根据开发环境的操作系统类型投放对应的第二阶段有效载荷。值得注意的是,恶意软件在成功执行后会自我删除,并将package.json还原为正常版本,以规避安全分析。
针对此次攻击过程,攻击者先于3月30日发布了一个看似正常的依赖包plain-crypto-js,以此绕过NPM的审查机制,随后上传含恶意代码的新版本,并在短时间内同步污染了Axios的两个主要版本分支1.x与0.x。Elastic指出,攻击者针对三大操作系统的有效载荷均为同一款RAT木马的不同实现,其C2通信协议、指令集、Beacon通信频率以及伪造的用户代理字符串(User Agent)完全一致,区别仅在于Windows、macOS和Linux版本分别使用PowerShell、C++和Python编写。
值得注意的是,不仅直接使用Axios的开发者会受影响,自行构建OpenClaw的用户也可能因引入受污染的Axios版本而被植入恶意程序。
中国区块链安全公司慢雾(SlowMist)创始人余弦在社交媒体X上发出警告,3.28版OpenClaw可能引入恶意版本的Axios,建议用户尽快检查。若用户通过npm install命令安装OpenClaw,则可能受到影响;若用户从源码自行编译,由于其内置的Axios版本为1.13.5/1.13.6,不受此次事件波及。他还指出,可能还有其他OpenClaw技能包(Skill)依赖Axios而存在风险。
随后,余弦进一步公布了受影响技能包的情况:在1,246个技能包中,共发现2,672条引入Axios的依赖路径,这还不包括其他第三方包。余弦还提到,OpenClaw开发团队已强制锁定Axios依赖模块的版本,以应对此次供应链攻击事件。