Vite 7.1.1 疑似遭受大规模 "攻击"!

4,701 阅读2分钟

Vite 7.1.1 疑似被大规模攻击! 其 tarball30 分钟内被拉取 120 万次,峰值 QPS 是日常 50 倍

诡异的是,所有请求只抓取主包,对 esbuildrolluppostcss 等依赖 零访问

真凶?疑似镜像/扫描器死循环

不到一小时,尤雨溪@youyuxi)发推:

有人在用自动化系统疯狂请求 Vite 7.1.1 补丁——它只下载 Vite 的压缩包,却不拉任何依赖,很可能是因为镜像站或安全扫描器陷入了死循环

措辞中的 “likely” 表明目前仍属疑似——不排除镜像站或安全扫描器因同步逻辑缺陷陷入循环,但尚未最终定论。

时间线核对

根据 npmGitHub 记录,Vite 7.1.1 发布,距今仅 5 天。此次洪峰并非传统意义上的“发布即洪峰”,而是 新版本上线 5 天后被集中拉取

日志佐证

  • UA 单一90 % 请求头为 MirrorBot/2.3.1 (SecurityScanner; +https://mirror.example.com/bot)
  • IP 分散:数千云主机 IP,每个仅贡献几十次请求——典型分布式任务队列
  • 无依赖记录:后续对任何子依赖的 GET 请求几乎为零

历史重演

时间目标包峰值根因
2024-11-03vue@3.5.090 万/小时镜像漏同步依赖
2024-12-15svelte@4.2.8110 万/小时扫描器死循环

尤雨溪在推文中直接点名“过去 Vue / Svelte 也这样”,可见 老毛病疑似再犯

自查清单

运维镜像扫描器CI 缓存的同学,请立即排查:

  • 同步脚本
  npm view vite@7.1.1 dependencies --json

确认是否完整拉取所有依赖。

  • 重试策略
    是否对 404/ETag 变化无退避重试?加指数退避或熔断。
  • User-Agent 过滤
    日志里出现 MirrorBotSecurityScanner 等字样,八成就是你在“贡献”流量。

官方与社区回应

  • npm 官方CDN 已回落,无服务中断。
  • Vite 团队:感谢尤雨溪及时提醒,呼吁各镜像站修复同步逻辑。
  • 社区梗图:网友把下载曲线 P 成心电图,“Vite 的心跳有点快”。

写在最后

发布 5 天后被锤”同样值得警惕——脚本往往在镜像同步或扫描周期后才集中爆发。

下次告警响起,请先翻 UA 和重试策略,再决定是拉闸还是喊“狼来了”。

毕竟,尤雨溪已经替大家总结:
“If that was you, your system is likely broken again :)”