3月31日那天,Axios的维护者账号被盗了。这个每周被下载10万次以上的JavaScript库,在几小时内变成了朝鲜黑客的免费特洛伊木马。
CrowdStrike的人发现这事时,攻击者已经用偷来的凭证完成了全套操作:上传恶意版本、植入升级后的ZshBucket木马、覆盖三大操作系统。整个过程像极了抢银行——不是砸玻璃那种,是复制了金库钥匙,然后大摇大摆走进去。
10万次周下载背后的"信任套利"
Axios是什么?简单说,它是开发者用来发网络请求的工具库。你点外卖、刷短视频、转账时,背后无数应用在用它跟服务器对话。
这种基础工具的特点是:装一次,很少更新,但几乎人人依赖。就像你家的路由器,平时想不起来,断网了才知道多重要。
攻击者看中的正是这份"隐形"。npm生态有个残酷的真相:顶级包的维护者往往是个人开发者或小团队,安全预算接近于零。Axios的流行度与它的安全投入之间,存在着巨大的套利空间。
STARDUST CHOLLIMA——CrowdStrike给这个朝鲜组织起的代号——专门吃这碗饭。他们从2025年底开始明显加速,这次直接把目标对准了全球开发者的"基础设施层"。
供应链攻击的可怕之处不在于技术多复杂,而在于它劫持的是"信任"本身。
开发者安装Axios时,不会逐行检查代码。他们信任npm的签名、信任版本号、信任"这么多人在用,有问题早被发现了"的集体幻觉。黑客只需要攻破最薄弱的环节——一个被盗的维护者账号——就能让这份信任瞬间反噬。
ZshBucket升级:从"下载器"到"全平台遥控器"
这次投放的ZshBucket variant让分析师印象深刻。老版本只能下载执行文件,功能单一得像把螺丝刀。新版本则是一套完整的跨平台远控工具,支持Linux、macOS、Windows统一协议。
技术细节很能说明问题。攻击者采用了基于JSON的消息协议,这意味着同一套指令集可以无缝切换操作系统环境。对运维人员来说,这相当于黑客拥有了"一次编写,到处破坏"的能力。
CrowdStrike注意到一些基础设施与另一个朝鲜组织FAMOUS CHOLLIMA重叠,但ZshBucket的技术演进路线更指向STARDUST CHOLLIMA主导。这种"工具共享但战术独立"的模式,在朝鲜黑客圈子里很常见。
更值得玩味的是时间线。2025年末以来,该组织的行动频率显著上升。这次Axios事件不是孤立事件,而是一系列供应链渗透中的最新一环。他们的目标一直很明确:加密货币持有者、金融科技公司、任何能通过代码触达资金的目标。
一个被污染的HTTP客户端,可以截获多少金融API的通信流量?这个问题让安全团队夜不能寐。
npm生态的"公地悲剧"
事件曝光后,社区的反应呈现出熟悉的分裂。一部分人呼吁加强多因素认证和代码签名,另一部分人则指出结构性困境:开源维护者没有资源做企业级安全,而受益的大公司又不愿反哺。
Axios的每周10万次下载,背后是无数企业的商业系统。但这些企业很少为上游安全付费。这种模式有点像城市依赖地下水却不保护水源——直到某天发现水里有了致癌物。
朝鲜黑客显然算过这笔账。攻击npm包的ROI(投资回报率)极高:一次成功的凭证窃取,可能换来数百万潜在感染目标。相比之下,传统的鱼叉式钓鱼需要逐个攻破,效率不可同日而语。
CrowdStrike的评估很直接:财务动机是最可能的驱动因素。这与STARDUST CHOLLIMA的历史行为模式一致——他们不是为了搞破坏而攻击,是为了搞钱。供应链只是他们眼中的高效渠道。
但"搞钱"这个说法可能过于轻描淡写了。考虑到Axios在金融系统中的渗透率,这次妥协的影响可能持续数月。那些延迟更新的企业、那些锁定旧版本的遗留系统、那些没有依赖扫描的CI/CD流水线,都是潜在的定时炸弹。
开发者能做什么?答案比想象中悲观
事件发生后,npm官方撤销了恶意版本,Axios团队重置了凭证。但这类响应永远是滞后的。问题在于,开发者如何在未来避免踩进同一个坑?
技术层面的建议很标准:锁定依赖版本、启用lockfile、使用私有registry、做代码签名验证。但执行层面的阻力巨大。敏捷开发的压力下,"先跑起来"往往压倒"先确保安全"。
更深层的问题是生态结构。npm有200万个包,顶级依赖的维护者 burnout 严重。安全不是他们的KPI,却是整个行业的隐性债务。这次事件只是债务到期的一次提醒。
STARDUST CHOLLIMA的下一步会是什么?CrowdStrike的报告中有个细节值得注意:该组织正在"规模化"其运营。Axios可能只是一个压力测试——验证他们的工具链能否支撑更大范围的供应链污染。
如果这种推测成立,2026年我们可能会看到更多"基础设施级"的npm事件。不是边缘的小工具,而是像lodash、express、react这样的核心依赖。攻击者的逻辑很简单:越基础的砖块,抽掉后塌得越快。
目前,受影响的精确用户数量仍不清楚。10万次周下载是一个上限参考,实际感染取决于多少人在窗口期内执行了更新。这个数字可能很小,也可能很大——在供应链安全领域,不确定性本身就是风险。
你的项目依赖Axios吗?最后一次检查它的版本号是什么时候?
热门跟贴