如果你是一名开发者,或者你的公司使用任何基于JavaScript的网站或应用,请立即停下手中的工作,检查你的电脑和服务器。就在上周,一个几乎每个前端开发者都在用的基础工具——Axios,遭遇了一场精心策划的“供应链投毒”攻击。这不是普通的漏洞,而是一次“官方版本”被黑客劫持的恶性事件,你的API密钥、数据库密码、甚至整个服务器的控制权,可能已经拱手送人。
一、Axios是什么?为什么这次攻击如此致命?
简单来说,Axios是一个让网页或服务器能轻松发送网络请求的工具。无论是你手机上的App,还是电脑上的网站,只要需要从后台获取数据,很大概率就在使用它。它的周下载量超过8000万次,年下载量突破36亿次,是互联网世界名副其实的“基础设施”之一。
想象一下,你每天喝的自来水厂被投毒了。这次攻击就是如此——黑客没有攻击成千上万个使用Axios的网站,而是直接“污染”了水源本身。
二、攻击全过程:一次教科书级的“偷渡”
2026年3月30日至31日,攻击者上演了一场“瞒天过海”的戏码:
劫持“官方身份”:黑客首先盗取了Axios核心维护者
jasonsaayman的官方发布账号,并篡改了绑定邮箱。制作“特洛伊木马”:他们提前注册了一个名为
plain-crypto-js的恶意包,名字故意模仿知名的加密库crypto-js以混淆视听。先发布一个干净的4.2.0版本建立信任记录,再发布携带恶意代码的4.2.1版本。“官方”发布带毒更新:利用盗取的账号,黑客手动发布了两个Axios的“官方更新”版本:
axios@1.14.1和axios@0.30.4。这两个版本在代码层面看起来完全正常,但偷偷引入了那个恶意的plain-crypto-js@4.2.1依赖。“安装即中招”的自动化攻击:当开发者像往常一样执行
npm install安装或更新Axios时,恶意的plain-crypto-js包会自动运行一个隐藏脚本(postinstall钩子)。这个脚本会悄无声息地连接黑客的远程服务器,根据你的电脑系统(Windows、macOS或Linux)下载对应的远程控制木马(RAT)并运行。“毁尸灭迹”:最狡猾的是,恶意脚本执行完成后,会自动删除自己,并用一个干净的配置文件替换掉原来的,让你事后检查时几乎找不到任何痕迹。
三、中招后果:你的电脑可能已成“肉鸡”
一旦安装了这个带毒的Axios版本,你的设备就等于向黑客敞开了大门:
完全失控:黑客可以获得你电脑的最高控制权,能执行任意命令、上传下载文件。
隐私裸奔:你电脑里所有的文件、代码、聊天记录、浏览器历史都可能被窃取。
凭证泄露:存储在环境变量或配置文件中的数据库密码、云服务密钥(AK/SK)、SSH密钥、npm发布令牌等高敏感信息会被一扫而空。
成为跳板:黑客可以以你的机器为据点,进一步攻击你公司内部的网络。
四、立即自查!三步判断你是否中招
请在你的项目目录或服务器上执行以下命令:
检查Axios版本:
npm list axios如果显示版本是 1.14.1 或 0.30.4,那么你已安装恶意版本。
检查恶意依赖:
npm list plain-crypto-js如果显示存在
plain-crypto-js@4.2.1,说明恶意包已潜入。检查系统异常文件:
macOS:检查
/Library/Caches/com.apple.act.mond文件。Linux:检查
/tmp/ld.py文件。Windows:检查
C:\ProgramData\wt.exe文件。
只要发现以上任何一项,请立即假设你的系统已被入侵!
五、紧急修复指南
如果中招,请按以下步骤操作:
立即隔离:断开受影响设备的网络,防止数据继续外泄。
降级Axios:卸载恶意版本,安装安全版本(
axios@1.14.0或axios@0.30.3)。npm uninstall axiosnpm install axios@1.14.0清理恶意依赖:
rm -rf node_modules/plain-crypto-jsnpm cache clean --force全面杀毒与凭证轮换:这是最关键的一步。必须使用杀毒软件全盘扫描。立即更换所有在该设备上使用过的密码、API密钥、SSH密钥、云服务凭证等,因为黑客极可能已经窃取了它们。
考虑重装系统:对于已被植入木马的设备,最彻底的方法是备份重要数据后,重装操作系统。
夜雨聆风