• 尤雨溪发推 Vite 7.1.1疑似遭受大规模 "攻击"!
  • 发布于 2天前
  • 20 热度
    0 评论
  • 太伤人
  • 1 粉丝 45 篇博客
  •   

Vite 7.1.1 疑似被大规模攻击! 其 tarball 在 30 分钟内被拉取 120 万次,峰值 QPS 是日常 50 倍。诡异的是,所有请求只抓取主包,对 esbuild、rollup、postcss 等依赖 零访问。


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

不到一小时,尤雨溪(@youyuxi)发推:有人在用自动化系统疯狂请求 Vite 7.1.1 补丁——它只下载 Vite 的压缩包,却不拉任何依赖,很可能是因为镜像站或安全扫描器陷入了死循环。

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

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

日志佐证
UA 单一:90 % 请求头为 MirrorBot/2.3.1 (SecurityScanner; +https://mirror.example.com/bot)
IP 分散:数千云主机 IP,每个仅贡献几十次请求——典型分布式任务队列
无依赖记录:后续对任何子依赖的 GET 请求几乎为零
历史重演
时间 目标包 峰值 根因
2024-11-03 vue@3.5.0 90 万/小时 镜像漏同步依赖
2024-12-15 svelte@4.2.8 110 万/小时 扫描器死循环
尤雨溪在推文中直接点名“过去 Vue / Svelte 也这样”,可见 老毛病疑似再犯。

自查清单
运维镜像、扫描器或 CI 缓存的同学,请立即排查:
同步脚本
  npm view vite@7.1.1 dependencies --json
确认是否完整拉取所有依赖。
重试策略
是否对 404/ETag 变化无退避重试?加指数退避或熔断。
User-Agent 过滤

日志里出现 MirrorBot、SecurityScanner 等字样,八成就是你在“贡献”流量。


官方与社区回应
npm 官方:CDN 已回落,无服务中断。
Vite 团队:感谢尤雨溪及时提醒,呼吁各镜像站修复同步逻辑。

社区梗图:网友把下载曲线 P 成心电图,“Vite 的心跳有点快”。


写在最后
“发布 5 天后被锤”同样值得警惕——脚本往往在镜像同步或扫描周期后才集中爆发。下次告警响起,请先翻 UA 和重试策略,再决定是拉闸还是喊“狼来了”。
毕竟,尤雨溪已经替大家总结:
“If that was you, your system is likely broken again :)”
用户评论