漏洞概述 漏洞名称: Nx Console v18.95.0 供应链攻击 发现时间: 2026-05-18 漏洞描述: 攻击者在2026-05-18 12:30至13:09 UTC期间,向Visual Studio Marketplace和Open VSX注册表发布了恶意版本的Nx Console v18.95.0。该恶意版本通过TanStack供应链攻击获得,利用了贡献者的GitHub OAuth令牌。 影响范围 受影响版本: Nx Console v18.95.0 未受影响版本: v18.100.5及之后版本 安装数量: - Visual Studio Marketplace: 28次安装 - Open VSX: 41次下载(来自21个唯一IP) - Nx内部激活计数: ~6,000次激活(非安装) 修复方案 已修复版本: v18.100.5及之后版本 建议措施: - 任何在2026-05-18 12:30至13:09 UTC期间安装了v18.95.0的用户应将其机器视为已受感染,并轮换凭证。 - 修复发布管道漏洞,并扩展到其他可发布仓库。 - 启用Nx Console自动更新的用户应假设其机器已受感染。 恶意行为 持久化: - macOS/Linux: 写入 (Python后门)、 (重启持久化)、 (暂存)、 (状态) - Linux: 修改 以获取权限持久化 - Windows: 写入 (Python后门)、 (暂存)、 (状态)、 (持久化) 凭证窃取: - Vault: 、 、Kubernetes服务账户令牌、AWS IAM认证令牌 - npm: 令牌、OIDC令牌交换 - AWS: IMDS/ECS元数据服务、Secrets Manager、SSM Parameter Store、Web Identity令牌 - GitHub: 、 、 令牌从 、 、环境变量和进程内存中窃取 - 1Password: 如果 CLI会话在运行时处于活动状态,则窃取其内容 - 文件系统: SSH私钥、 文件、GCP应用程序默认凭证、Docker配置 数据外泄: - 通过HTTPS到攻击者基础设施、GitHub API和DNS基于隐蔽通道外泄数据 时间线 2026-05-11 19:20-19:26: 攻击者在42个 npm包中发布了84个恶意版本 2026-05-11 20:43:01: Nx贡献者在外部仓库运行 ,恶意软件运行其 脚本 2026-05-11 20:43:51: 攻击者推送第一个恶意提交 2026-05-11 20:44:15-20:45:56: 第一次GitHub工作流篡改清理 2026-05-11 21:34, 21:36: 恶意软件在本地重新运行,第二次工作流删除清理 2026-05-12 00:12:49: 发布 ,披露TanStack漏洞 2026-05-15 23:56:05: 攻击者返回,使用相同的令牌 2026-05-16 00:04:07: 最后一次在审计日志中使用被盗令牌 根因 1. TanStack供应链攻击: 攻击者利用TanStack的发布管道漏洞发布恶意版本 2. 配置问题: 项目配置了 (7天),但 字段指向npm 10.14,不支持此配置 3. CLI凭证可检索: 攻击者通过本地进程检索 CLI凭证 4. Nx Console发布管道允许单actor发布: 发布管道没有要求审查员规则、 门或检查发布版本是否匹配发布决定 代码块 总结 Nx Console v18.95.0版本存在供应链攻击漏洞,攻击者通过TanStack供应链攻击获得贡献者的GitHub OAuth令牌,发布了恶意版本。受影响用户应立即更新到v18.100.5及之后版本,并轮换所有相关凭证。