跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

WeLinux

  1. 主页
  2. 版块
  3. 讨论
  4. TanStack 42 个 npm 包遭供应链攻击,三漏洞链式利用致 84 个恶意版本发布

TanStack 42 个 npm 包遭供应链攻击,三漏洞链式利用致 84 个恶意版本发布

已定时 已固定 已锁定 已移动 讨论
供应链攻击npmtanstackgithub-actions网络安全
1 帖子 1 发布者 10 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • R 离线
    R 离线
    ref
    编写于 最后由 编辑
    #1

    TanStack 创始人 Tanner Linsley 5 月 11 日发布官方事故复盘,披露当日 19:20~19:26 UTC 期间,攻击者通过三个漏洞的链式利用向 npm 发布了涵盖 42 个 @tanstack/* 包共 84 个恶意版本。攻击链分三步:第一步利用 pull_request_target 触发器的"Pwn Request"模式,在基础仓库权限上下文中执行了 fork PR 中的恶意代码;第二步通过 GitHub Actions 缓存投毒(Cache Poisoning),将含恶意载荷的 pnpm 存储写入生产发布流程将读取的缓存槽位;第三步在发布工作流运行时,从 GitHub Actions runner 进程内存中提取 OIDC 令牌,绕过正常发布步骤直接调用 npm 注册表 API——全程未窃取任何 npm 访问令牌。恶意版本在安装时会执行约 2.3 MB 的混淆脚本,抓取 AWS IMDS/Secrets Manager、GCP 元数据、Kubernetes service-account token、Vault token、~/.npmrc、GitHub token 及 SSH 私钥,并经 Session/Oxen 端对端加密网络回传;脚本还会通过 npm registry API 枚举受害者维护的其他包并植入同样注入代码,实现自我扩散。

    恶意版本在发布约 20 分钟后由外部安全研究员发现并公开披露,Socket.dev 随后主动联系 TanStack 团队确认情况;维护团队随即对全部 84 个版本标记废弃,并请 npm 安全团队从服务器端下架 tarball。受影响范围不含 @tanstack/query*、@tanstack/table*、@tanstack/form*、@tanstack/virtual*、@tanstack/store 及 @tanstack/start 元包。复盘指出,此次所用的 OIDC 令牌内存提取脚本与 2025 年 3 月 tj-actions/changed-files 供应链攻击中使用的工具几乎一字不差(含原归因注释),说明攻击者在重新组合已公开的攻击手法而非开发全新工具。TanStack 要求所有在 5 月 11 日安装了受影响版本的开发者或 CI 环境将该主机视为潜在已失陷,并立即轮换 AWS、GCP、Kubernetes、Vault、GitHub、npm 及 SSH 全部凭据。

    TanStack Blog

    Link Preview Image
    Postmortem: TanStack npm supply-chain compromise | TanStack Blog

    On 2026-05-11, an attacker chained a pull_request_target Pwn Request, GitHub Actions cache poisoning across the fork↔base trust boundary, and OIDC token extraction from runner memory to publish 84 malicious versions across 42 @tanstack/* packages on npm. Full postmortem.

    favicon

    (tanstack.com)

    1 条回复 最后回复
    0

    你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

    厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

    有了你的建议,这篇帖子会更精彩哦 💗

    注册 登录
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    Powered by NodeBB Contributors
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • 世界
    • 用户
    • 群组