乐于分享
好东西不私藏

你每天刷的App,可能已经被植入了木马

你每天刷的App,可能已经被植入了木马

2026年3月31日,一个安静的周一早晨,JavaScript社区炸了。

全球最流行的HTTP客户端库Axios,被人在npm上投了毒。

超过3亿次下载量,每周1亿次npm安装——这个数字什么概念?几乎你用过的每一个前端项目、每一个调用外部接口的小工具、每一个你以为很安全的”大厂App”,只要用了Axios,都可能中招。

这不是演习。


发生了什么

事情经过是这样的:

攻击者劫持了Axios一个维护者的npm账号,向1.14.1和0.30.4两个版本推送了恶意代码。

恶意代码藏在一个叫plain-crypto-js@4.2.1的依赖包里。

这包东西看起来人畜无害——名字还带着”crypto”,好像是个加密工具。

但它真正的功能是:

安装时自动执行postinstall脚本,植入跨平台远程访问木马(RAT),能控制你的电脑、读取你的密钥、删除操作痕迹。

而且这木马macOS、Windows、Linux全平台通杀

发现这事的是安全研究员Feross Aboukhadijeh(@feross),他在X上发了警报,npm官方随后介入下架。

但问题是:在你看到这篇文章的时候,很可能还有人在不知情的情况下继续安装这个版本。


这事和你有什么关系

你可能会说:”我又不是程序员,我管什么npm。”

但问题是——你用的App背后,都是程序员在用npm。

  • 你在微信小程序里下单,外卖App里付款
  • 你刷的短视频、看的新闻App
  • 你工作的内部系统、公司的官网

这些产品的代码里,可能都躺着Axios这个依赖。

如果开发这些产品的程序员在上周npm install过,他们的环境就可能已经被入侵了。而他们自己可能都不知道。

更可怕的是,这只是今天发现的其中一个。

安全公司Socket Security同时发现了15个恶意npm包在流通。


怎么判断自己有没有中招

如果你是一个开发者:

第一步:检查你的package.json和lockfile

# 查看是否引用了问题版本grep -r "axios" package.json package-lock.json# 如果你的Axios版本是 1.14.1 或 0.30.4,立即停止

第二步:检查plain-crypto-js

# 查看是否间接依赖了这个包npm ls plain-crypto-js# 如果有,立刻删除并检查服务器

第三步:审计最近的命令记录

攻击脚本会删除安装痕迹,但如果你的服务器有日志回溯能力,查一查近期有没有异常的shell命令执行。


普通人能做什么

说实话,这事在技术层面你管不了——它发生在代码供应链的上游,不在你的手机里。

但你可以做两件事:

第一,告诉身边的开发者朋友这条消息。 让他们知道这事,今天就检查一下自己的项目。

第二,这事说明了一个长期趋势: 你以为App是”大厂开发的,更安全”。但实际上,大厂的代码也是从npm上npm install下来的。谁都可能中招。

这不是Axios的问题,这是整个软件供应链的信任机制的问题。


这不是第一次,也不会是最后一次

2024年,xz-utils后门事件震惊全球。

2025年,npm生态接连暴雷。

每一次,开发者社群里都在喊”要加强安全审计”、”要锁死依赖版本”。

然后呢?然后大家继续npm install,继续用,继续等着下一个爆雷。

现实是: 你每天用的App,是用别人的代码堆起来的。别人代码的质量,你根本不知道。

这不是制造焦虑,这是现实。