axios@1.14.1 遭遇供应链投毒:针对开发者及 MCP 用户的高隐蔽性 0-day 攻击 - V2EX
0X00FFFF

[email protected] 遭遇供应链投毒:针对开发者及 MCP 用户的高隐蔽性 0-day 攻击

  •  5
     
  •   0X00FFFF Mar 31 9480 views
    This topic created in 43 days ago, the information mentioned may be changed or developed.

    这是 2026 年 3 月 31 日(不到 24 小时前) 爆发的全新 0day 供应链攻击,目前 npm 官方和主流安全社区尚未公开披露。

    攻击核心

    通过 npx 安装 latest 版本时,[email protected].1 被恶意投毒,偷偷引入了伪装成 crypto-js 的恶意包 [email protected]

    不仅普通开发者受影响,大量使用 AI Coding CLI( Cursor 、Claude Code 、Windsurf 、Codex 等)调用 open-websearchexa-mcp-server 等 MCP 工具的用户也极易中招,因为它们的 npx 缓存同样被污染。

    攻击手法(三平台全覆盖)

    C2 服务器http://sfrclak.com:8000/6202033

    • Windows

      • 复制 powershell.exeC:\ProgramData\wt.exe(伪装成 Windows Terminal )
      • 生成 VBS 脚本下载 payload ,隐藏执行 PowerShell (-w hidden -ep bypass
      • 执行后自删除所有痕迹
    • macOS

      • 下载后门二进制到 /Library/Caches/com.apple.act.mond(伪装系统进程)
      • 赋予权限后后台运行 + 连回 C2
      • 通过 osascript 执行并擦除痕迹
    • Linux

      • 下载 Python 后门到 /tmp/ld.py
      • nohup 后台常驻

    最阴险的是毁尸灭迹

    • 删除自身的 setup.js
    • package.md 重命名为 package.json,彻底覆盖原始 postinstall 字段
    • 事后查看 package.jsonnpm list 几乎看不出任何异常

    快速自查命令(强烈建议立刻执行)

    # 检查可疑 axios 版本 npm list axios 2>/dev/null | grep -E "1\.14\.1|0\.30\.4" # 检查 lock 文件 grep -A1 '"axios"' package-lock.json | grep -E "1\.14\.1|0\.30\.4" # 检查恶意依赖 ls node_modules/plain-crypto-js 2>/dev/null && echo " 可能已中招!" # 检查 RAT 残留痕迹 # macOS ls -la /Library/Caches/com.apple.act.mond 2>/dev/null && echo " COMPROMISED" # Linux ls -la /tmp/ld.py 2>/dev/null && echo " COMPROMISED" # Windows (cmd) dir "%PROGRAMDATA%\wt.exe" 2>nul && echo COMPROMISED
    66 replies    2026-04-01 15:17:23 +08:00
    aikilan
        1
    aikilan  
       Mar 31
    上次 npm 改了发布机制,这次再来一波,npm 打算改啥
    crime1024
        2
    crime1024  
       Mar 31
    网络不安全,我要回家
    eviladan0s
        3
    eviladan0s  
       Mar 31 via iPhone   1
    和 0day 没有关系,是维护者的 npm 账户被入侵了
    wu67
        4
    wu67  
       Mar 31
    幸亏最近没有升级这工具库, 我本身也锁死了版本号
    shirakawatyu
        5
    shirakawatyu  
       Mar 31   1
    node_modules 散落在硬盘各处,想查都困难
    zeex
        6
    zeex  
       Mar 31
    这个有点无解 这一波一下都得中招
    lisxour
        7
    lisxour  
       Mar 31
    npm 就没有签名机制吗
    lujiaosama
        8
    lujiaosama  
       Mar 31
    AXIOS 基本上是前端请求库的基石了, 这影响面也太巨大了吧.
    irrigate2554
        9
    irrigate2554  
       Mar 31
    everything 打开,搜索 plain-crypto-js 看看有没有吧
    shirakawatyu
        10
    shirakawatyu  
       Mar 31
    @shirakawatyu 看起来是刚发不久就被发现了,npm 上已经没这版本了
    7gugu
        11
    7gugu  
       Mar 31
    被波及到了,只能赶紧锁版本了,以后这种基础库还是不能用最新的
    wzhcanon
        12
    wzhcanon  
       Mar 31
    这太扯了
    thrinity
        13
    thrinity  
       Mar 31
    open-websearch 这种还挺频繁用到
    laikicka
        14
    laikicka  
       Mar 31
    远离 axios 保平安
    crysislinux
        15
    crysislinux  
       Mar 31 via Android
    nodejs 这种小包生态供应链投毒无解了。
    Ketteiron
        16
    Ketteiron  
       Mar 31   3
    https://github.com/axios/axios/issues/10604
    开发者凭证被偷感觉是无解的难题。
    realJamespond
        17
    realJamespond  
       Mar 31
    pnpm 有影响不?
    apkapb
        18
    apkapb  
       Mar 31
    只有 1.14.1 中招吗
    Felldeadbird
        19
    Felldeadbird  
       Mar 31
    吓得我菊花一紧,"axios": "^1.13.6"。 我没中招吧。
    stinkytofux
        20
    stinkytofux  
       Mar 31
    网络太危险了, 我要拔网线
    liangdi
        21
    liangdi  
       Mar 31
    供应链安全 确实头疼
    FakerLeung
        22
    FakerLeung  
       Mar 31
    还好我司强制性要求版本固定,还在 1.13.5
    v21984
        23
    v21984  
       Mar 31
    以及 0.30.4
    Bronya
        24
    Bronya  
       Mar 31
    吓人,这种基础库,涉及范围太广了
    今天是 axios ,明天又会是哪个
    liuxue
        25
    liuxue  
       Mar 31 via iPhone
    @realJamespond 这个用的一般也是 npm 的仓库吧
    loading
        26
    loading  
       Mar 31
    latest 这种不确定性,真的可怕噢。
    stinkytofux
        27
    stinkytofux  
       Mar 31
    @Bronya 已经开始人传人迹象了.
    Javin
        28
    Javin  
       Mar 31
    现在这种漏洞越来越多,和 AI 是不是有关系呢
    MIUIOS
        29
    MIUIOS  
       Mar 31
    我操 我中招了
    Ketteiron
        30
    Ketteiron  
       Mar 31   1
    @realJamespond #17 pnpm10+ 默认在安装期间阻止依赖项的生命周期脚本执行,因此主动安装的 axios 不会中招,但是 CLI/MCP 很可能使用 npx ,这样依然会中招。
    chen7897499
        31
    chen7897499  
       Mar 31
    ld.py payload https://pastebin.com/MtsK5QHx
    其他的弄不下来了
    xling
        32
    xling  
       Mar 31
    npm 这奇葩自动升级策略迟早要酿成大祸
    diudiuu
        33
    diudiuu  
       Mar 31
    无解,就固定版本吧,非必要不升级
    renmu
        34
    renmu  
       Mar 31 via Android
    我今天上午刚升级的 axios 依赖,中招了,火绒有拦截提醒,但被我允许了,还骂了一句火绒 sb,我错怪你了啊
    june4
        35
    june4  
       Mar 31
    nodejs 安全性确实不行,应该也搞成 deno 这样的
    lisongeee
        36
    lisongeee  
       Mar 31
    如果是上次的 apifox 事件导致的 npm token 泄露,是不是会频繁导致此类问题
    0X00FFFF
        37
    0X00FFFF  
    OP
       Mar 31
    a33291
        38
    a33291  
       Mar 31
    @lisongeee 是,至少会持续一段时间,比如 https://github.com/hicccc77/WeFlow/issues/555
    C64NRD
        39
    C64NRD  
       Mar 31
    npm 官网好像刚刚撤掉顶部 banner ( 2F ) 没多久
    kasusa
        40
    kasusa  
       Mar 31
    好新啊。
    poly1911
        41
    poly1911  
       Mar 31
    自查完毕,没有中招

    I'm tired boss
    test9106
        span class="no">42
    test9106  
       Mar 31
    中招了怎么清理机器啊
    tiaod
        43
    tiaod  
       Mar 31
    我就说为啥现在 npm 发个包那么复杂
    m9rco
        44
    m9rco  
       Mar 31
    @chen7897499 #31 这是什么东西大佬,观摩下
    meteora0tkvo
        45
    meteora0tkvo  
       Mar 31
    说实话,直接用浏览器原生 fetch 也挺方便的,搞不懂为啥还要特地装个 axios
    wkend
        46
    wkend  
       Mar 31
    老妈,互联网太危险了,我想回家
    FireKey
        47
    FireKey  
       Mar 31
    感觉是有基础设施中招了或者这类攻击模式开始传播,现在能不升级先不升级了
    renyixu
        48
    renyixu  
       Mar 31   1
    明天华为是不是就自研了
    test9106
        50
    test9106  
       Mar 31
    @realkaiway 多谢!
    Livid
        51
    Livid  
    MOD
    PRO
       Mar 31   2
    $ cat ~/.npmrc
    min-release-age=7
    AiBoy
        52
    AiBoy  
       Mar 31
    又来又来!
    Sezxy
        53
    Sezxy  
       Mar 31 via Android
    @renyixu ???!?
    cairnechen
        54
    cairnechen  
       Mar 31
    1.13.4 运气不错
    Lemonadeccc
        55
    Lemonadeccc  
       Mar 31
    1.14.0 差一步我去
    oIMOo
        56
    oIMOo  
       Mar 31
    分享一篇文章:[Axios npm Supply Chain Compromise Full Analysis Package]( https://gist.github.com/N3mes1s/0c0fc7a0c23cdb5e1c8f66b208053ed6)

    另外求大家帮帮孩子:[求推荐代码审计软件/平台/插件]( https://v2ex.com/t/1202258#reply0)
    mrabit
        57
    mrabit  
       Mar 31
    @renyixu 你回复错了吧? 你是想说 Claude Code 源码?
    dcsuibian
        58
    dcsuibian  
       Apr 1   2
    Java+Python+Javascript/TypeScript 使用者表示
    在工程规范上,Java 真的吊打后面两者
    hafuhafu
        59
    hafuhafu  
       Apr 1
    突然感觉近期供应链投毒等因为凭据泄露的事高发,和 AI 被滥用有一定关系...
    apkapb
        60
    apkapb  
       Apr 1
    我前几天,刚把依赖升级成最新版本,"axios": "1.13.6",

    就差几天,就中招了
    Pipidamowang
        61
    Pipidamowang  
       Apr 1
    @apkapb #18 0.30.4 也中招了
    apkapb
        62
    apkapb  
       Apr 1
    @Pipidamowang 检查了,没有。。这种基建被攻击了可太难受了
    kloge
        63
    kloge  
       Apr 1
    最近这么多供应链投毒, 会不会跟龙虾有关?
    xue777hua
        64
    xue777hua  
       Apr 1
    @dcsuibian 没觉得多吊打,java 只是因为只负责后端而已,暴露面一下子就小很多了, 该不会忘了 log4j 的事情了?
    dcsuibian
        65
    dcsuibian  
       Apr 1
    @xue777hua 说明你完全不懂后端

    1 、那个漏洞是 log4j2 ,而不是 log4j ,两者根本不是一个东西。log4j 作者的原作者的后续产品是 logback ,也有 slf4j 的日志门面。他不是第一个发明日志的人,但是却是打日志工程化的祖师爷,log4j2 根本不是他的项目。而且 Spring Boot 的默认也是 logback ,所以只有你手动替换了日志实现才会有这个问题

    2 、如果你要说 log4j2 的话,那么请问 Next.js 的 CVE-2025-29927 和 CVE-2025-55182/CVE-2025-66478 ,如果 Next.js 只做前端框架不会有这种问题,说白了,前端被浏览器和后端安全策略保护的太好了。因为规范的后端本来就不信任前端发来的数据,所以前端之前才出的少。当前端开始做后端,就有这种问题

    3 、既然这个主题是关于包管理器的,正好我也发过包,你可以先去跟 AI 了解下这三者的差距,Java 的 Maven 规范远远大于前两者。首先 Java 的 Maven Central 是由 Sonatype 托管的,你要发布一个包会有域名命名空间所有权验证、强制 GPG 签名,强制提供 Javasoc 和 Sources 等。这些 npm 和 pypi 有吗?
    pypi 和 npm 完全全局共享一个命名空间,抢注包名没有吗?

    4 、另外 Maven 不光是包管理器,更接近来说,应该是构建管理器,包管理器只是一部分,如果放到前端,可能更接近于 npm 和 vite 的合体。

    5 、另外 node_modules 的设计简直是屎中屎,全宇宙最重的东西。语义化版本控制听起来很好,实际就会引入这种供应链投毒,因为版本不锁定,要不然为啥又 package-lock.json 。而 Maven 这边的项目你可以去看看,基本都是完全锁死 gav 坐标的,不存在偷换的问题

    6 、如果不说 Node.js ,就再说下 Python ,Python 的管理就复杂,从 requirements.txt 、Anaconda ,好不容易有了 pyproject.toml ,但是仍然不够好,比如对 src/ Layout 的支持,要么变成没有 src/的非包项目,要用 src/ 就必须搞成包,非常混乱
    xue777hua
        66
    xue777hua  
       Apr 1
    @dcsuibian
    对对对
    About     Help     Advertise     Blog     API     FAQ     Solana     1238 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 182ms UTC 23:40 PVG 07:40 LAX 16:40 JFK 19:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86