npm生态遭受大范围投毒:TanStack、Mistral AI、UiPath等受波及,可窃取云密钥与GitHub令牌

摘要

IT之家 5 月 12 日消息,网络安全检测机构 Socket 于当地时间 5 月 11 日发出警报,在开源工具库 TanStack 旗下约 84 个 NPM 软件包的恶意版本中发现疑似凭证窃取恶意代码。

npm squawk opensearch NPM GitHub
2026-05-12 1 阅读 IT之家
IT之家 5 月 12 日消息,网络安全检测机构 Socket 于当地时间 5 月 11 日发布警报,在开源工具库 TanStack 公布了约 84 个 NPM 的恶意版本中发现疑似误杀不当代码。这一批覆盖了 42 个 @tanstack/* 命名空间下的项目,其中 @tanstack/react-router 的周下载量超 1200 万次,此类工具包在 NPM生态中被广泛直接或间接引用,使得本次供应链攻击具有极广的传播范围。分析发现,被篡改的全局中增加了一个约2.3MB、经过高强度JavaScript混淆的文件 router_init.js ,同时 package.json 中增加了一个指向 GitHub 特定作业的可选依赖项。该提交来自一个名为 voicproducoes 的 GitHub 账户,是一个无包历史记录的单根作业,原始包含的 @tanstack/设置及其准备生命周期钩子,晚上在被安装时会执行任意恶意代码。当开发者或 CI 系统执行包安装操作时,该钩子自动运行,从多个常用位置窃取密钥、令牌和密钥,包括 AWS IMDS 与 Secrets Manager、GCP 元数据、Kubernetes 服务账户令牌、Vault 令牌、~/.npmrc、GitHub 令牌以及 SSH 私钥。通过 Session / Oxen 窃取的数据加密文件上传网络外泄,攻击者同时侵入持久化组件监控,能够在接收机器上维持长期访问。TanStack在事后技术复盘中将攻击链大幅提升GitHub Actions漏洞的组合利用:攻击者利用pull_request_target“Pwn Request”模式、跨叉存储投毒以及从GitHub Actions运行器进程的内存中实时获取OIDC中断。在此过程中,NPM漏洞泄露,合法发布工作流也未遭攻破,恶意发布是通过项目的OIDC受信任发布者绑定进行身份验证后直接授权到NPM完成的。官方同时声明,相关成员账户均启用了双重身份验证,但攻击者利用Git环境下孤儿提交的方式绕过了现有的发布保护机制。所有不良版本已被废弃,TanStack已联系NPM安全团队从漏洞中删除了恶意包,GitHub Actions缓存条目也已清理。本次攻击被安全机构归为当前分散的大规模“Mini Shai-Hulud”供应链攻击的一部分。此前该攻击曾针对SAP生态系统的NPM包,现已扩展为波及更广泛的NPM投毒活动。据不完全统计,目前已组成的组成部分覆盖@squawk、@tanstack、@uipath、@tallyui、@beproduct、@mistralai等多个聚合空间,总计超过160个包名、近373个其中 @mistralai / Mistralai(官方 TypeScript 客户端)和 @uipath / apollo-core 等企业级工具包亦被入驻同类型盗取网络的蠕虫,采用相同的下载 Bun 运行时并执行恶意恐怖的传播机制。 分区版本 pypi Mistralai 2.4.6 pypi Mistralai 2.4.6 npm @opensearch-project opensearch 3.5.3 npm @opensearch-project opensearch 3.8.0 npm @opensearch-project opensearch 3.7.0 pypi Guardrails-ai 0.10.1 pypi Guardrails-ai 0.10.1 npm @opensearch-project opensearch 3.6.2 npm 十字绣 1.1.7 npm @squawk 修复数据 0.6.8 npm @squawk 天气 0.5.10 npm @squawk国际民航组织注册数据 0.8.8 npm @squawk 机场数据 0.7.8 npm @squawk 飞行计划 0.5.6 npm @squawk 单位 0.4.7 npm @squawk 飞行数学 0.5.8 npm @squawk mcp 0.9.5 npm @squawk 修复 0.3.6 npm @squawk 空域数据0.5.7 npm @squawk 程序数据 0.7.7 npm @squawk 导航设备 0.4.6 npm @squawk 程序 0.5.6 npm @squawk notams 0.3.10 npm @squawk 航空公司 0.4.6 npm @squawk 机场 0.6.6 npm ts-dna 3.0.5 npm @squawk 类型 0.8.5 npm @squawk ICAO-registry 0.5.6 npm @squawk 空域 0.8.5 npm @squawk geo 0.4.8 npm @squawk 导航数据 0.6.8 npm @squawk 航线数据 0.5.8 npm @mistralai Mistralai 2.2.4 npm @squawk mcp 0.9.4 npm @squawk 类型 0.8.3 npm @beproduct Nestjs-auth 0.1.18 npm @squawk 空域数据 0.5.5 npm ts-dna 3.0.4 npm git-git-git 1.0.12 npm @squawk 航空数据 0.5.7 npm @squawk 机场 0.6.5 npm git-branch-selector 1.3.7 npm @tallyui pos 0.1.3 npm @tallyui 连接器-vendure 1.0.3 npm 十字绣 1.1.5 npm @supersurkhet cli 0.0.7 npm @squawk mcp 0.9.3 npm @squawk 飞行计划 0.5.5 npm @squawk 修复数据0.6.7 npm @squawk 空域数据 0.5.6 npm git-branch-selector 1.3.6 npm @taskflow-corp cli 0.1.29 npm @squawk ICAO-registry-data 0.8.6 npm @squawk geo 0.4.7 npm @squawk 机场数据 0.7.7 npm @squawk 天气0.5.8 npm @squawk geo 0.4.6 npm @squawk 飞行数学 0.5.7 npm @squawk ICAO-registry 0.5.5 npm @beproduct Nestjs-auth 0.1.19 npm nextmove-mcp 0.1.7 npm @squawk 航空公司 0.4.4 npm @tolka cli 1.0.5 npm @squawk 航空公司 0.4.5 npm @squawk 修复 0.3.5 npm cmux-agent-mcp 0.1.8 npm @tallyui 连接器-shopify 1.0.3 npm @squawk 飞行数学 0.5.6 npm @squawk 国际民航组织注册处 0.5.4 npm @tallyui 组件 1.0.3 npm @squawk nava