T
traeai
登录
返回首页
Viking(@vikingmute)

TanStack 又被攻击了

8.7Score
TanStack 又被攻击了

TL;DR · AI 摘要

攻击者通过伪造 PR 提交恶意代码,污染 pnpm 缓存并在数分钟内发布 84 个恶意 npm 版本,影响 42 个包。

核心要点

  • 攻击者以 zblgg 名义提交 PR 7378,成功绕过审查
  • CI 中恶意代码窃取 OIDC token 并写入 pnpm 缓存
  • 84 个恶意版本于 2026 年 5 月 11 日 UTC 19:20-19:26 内自动发布

结构提纲

按章节快速跳转。

  1. 2026 年 5 月 11 日,攻击者通过伪造 PR 向 TanStack/router 仓库提交恶意代码,引发大规模 npm 供应链投毒。

  2. 攻击者以 zblgg 名义提交 PR 7378,触发 GitHub CI 流水线执行恶意脚本。

  3. vite_setup.mjs 在 CI 中提取 runner 内存中的 OIDC token 并写入 pnpm 缓存,实现持久化污染。

  4. 后续主分支构建从被污染的 pnpm 缓存拉取依赖,生成带毒包并使用窃取的 token 自动签名发布至 npm。

  5. 短短几分钟内共发布 84 个恶意版本,涉及 42 个 @tanstack/* 包,影响广泛且传播迅速。

  6. 官方已将受影响包置为废弃状态,并要求所有在 2026 年 5 月 11 日安装过该版本的用户轮换全部敏感凭证。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • TanStack 供应链攻击事件
    • 攻击手法
      • 伪造 PR(zblgg)
      • 利用 CI 执行恶意脚本
      • 内存提取 OIDC token
    • 污染机制
      • 写入 pnpm-store 缓存
      • 持久化依赖污染
    • 自动化发布
      • 主分支构建拉取污染依赖
      • 使用窃取 token 自动签名
      • 发布 84 个恶意版本
    • 影响与响应
      • 42 个包,84 版本受影响
      • 官方紧急弃用并发布通告
      • 用户需轮换全部敏感凭证

金句 / Highlights

值得收藏与分享的关键句。

  • 攻击者在 CI 环境中窃取 OIDC token 并写入 pnpm-store 缓存,实现持久性供应链污染。

    第 3 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 84 个恶意版本在不到 10 分钟内被自动构建、签名并发布至 npm,攻击效率极高。

    第 5 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 任何在 2026 年 5 月 11 日安装过受影响版本的用户必须立即轮换 AWS、GCP、Kubernetes、GitHub、npm、SSH 等所有凭证。

    最后一条公告

    ⬇︎ 下载 PNG𝕏 分享到 X
#npm#供应链攻击#GitHub Actions#TanStack#安全
打开原文

https://t.co/dPqNAkM1Ws 感觉现在这安全事件就没停过,Next 前几天也经常被搞。

攻击者发布了 84 malicious versions, 具体方式挺有趣的,让 AI 总结下:

1 攻击者以zblgg名义提交了一个看似正常的 PR 7378到 TanStack/router 仓库。 2 Github 在 PR 上运行 CI 3 PR" / X

Viking on X: "TanStack 又被攻击了 https://t.co/dPqNAkM1Ws 感觉现在这安全事件就没停过,Next 前几天也经常被搞。 攻击者发布了 84 malicious versions, 具体方式挺有趣的,让 AI 总结下: 1 攻击者以zblgg名义提交了一个看似正常的 PR 7378到 TanStack/router 仓库。 2 Github 在 PR 上运行 CI 3 PR" / X

Don’t miss what’s happening

Image 1

Viking

@vikingmute

Show translation

TanStack 又被攻击了 https://tanstack.com/blog/npm-suppl y-chain-compromise-postmortem… 感觉现在这安全事件就没停过,Next 前几天也经常被搞。 攻击者发布了 84 malicious versions, 具体方式挺有趣的,让 AI 总结下: 1 攻击者以zblgg名义提交了一个看似正常的 PR 7378到 TanStack/router 仓库。 2 Github 在 PR 上运行 CI 3 PR 中的恶意代码(vite_setup.mjs)在 CI 运行时窃取 GitHub Actions 的缓存写权限和 OIDC token(通过 runner 内存提取),然后将恶意 payload 写入共享的 pnpm-store 缓存。PR 随后都无所谓了,投毒缓存仍保留。 4 后续主分支的 release workflow 从被污染的缓存中拉取依赖,构建出带毒的包,并使用窃取的 OIDC token 自动签名、发布到 npm。 5 短短几分钟内发布了84 个恶意版本。 官方建议:任何在 2026-05-11 当天安装过受影响版本的用户,必须轮换各种凭证(AWS、GCP、Kubernetes、GitHub、npm、SSH 等)

Quote

Image 2

TANSTACK

@tan_stack

·

11h

SECURITY ADVISORY — TanStack npm packages A supply-chain compromise affecting 42 @tanstack/* packages (84 versions total) was published to npm earlier today at approximately 19:20 and 19:26 UTC. Two malicious versions per package. Status: ACTIVE — packages are deprecated, npm

3:37 AM · May 12, 2026

·

4,564 Views

9

2

AI 可能会生成不准确的信息,请核实重要内容