· adswds-team · 安全 · 18 min read
Nx Console 恶意扩展 36 分钟:6000+ 次激活,GitHub 内网失陷的源头
蓝点网:Nx Console v18.95.0 被供应链劫持,维护者凭证来自此前 TanStack 事件。窗口仅 36 分钟,却导致 GitHub 员工中招、约 3800 个内部私有仓泄露。

2026 年 5 月,代码托管巨头 GitHub 遭黑客攻击并泄露约 3800 个内部私有源代码仓库,业界震动。据蓝点网报道,源头不是神秘国家级 0day,而是员工安装了携带恶意代码的知名扩展 Nx Console——恶意扩展迅速搜寻环境中的所有敏感凭证,并利用这些凭证直接连接 GitHub 内部并开始窃取任何拥有权限的数据。
窗口只有约 36 分钟,但 Nx 团队事后分析:仅 VS Code 侧恶意版激活量就约 6000 次。GitHub 被黑员工也在这个窗口内安装。
「半小时下架」从来不是安全结局,只是扩散曲线的起点。
一、背景:Nx Console 与 IDE 扩展信任模型
1.1 Nx Console 是什么
Nx Console 是非常知名的 VS Code 扩展,服务于 Nx monorepo 生态开发者。大量前端 / 全栈工程师日常依赖它做项目图、生成器、任务运行——安装量高、更新频繁、信任度强。
1.2 GitHub 事件背景
昨天(相对蓝点网发文)代码托管网站 GitHub 遭到黑客攻击并泄露约 3800 个内部私有的源代码仓库。此次攻击源头则是 GitHub 员工安装的扩展程序携带恶意代码。
1.3 发布流程缺陷
蓝点网指出:Nx Console 开发团队有 1 位维护者可以不经人工审批而直接向微软插件市场发布新版本。这名维护者则在此前的 TanStack 供应链攻击中被窃取凭证,黑客利用凭证劫持维护者账户并直接发布携带恶意代码的 Nx Console v18.95.0 版。
二、事件概览
| 项 | 内容 |
|---|---|
| 恶意版本 | Nx Console v18.95.0 |
| 平台 | VS Code 市场 + OpenVSX |
| 存活时间 | 约 36 分钟(两平台合计口径) |
| VS Code 激活量 | 约 6000 次(Nx 内部分析) |
| Cursor 等 | 激活量 0 |
| 直接重大后果 | GitHub 员工中招 → 约 3800 内部私有仓泄露 |
| 凭证来源 | 此前 TanStack 供应链攻击泄露的维护者凭证 |
三、完整攻击链
TanStack 供应链攻击
→ Nx Console 维护者凭证泄露
→ 黑客劫持维护者账户
→ 免审发布 Nx Console v18.95.0 到 VS Code / OpenVSX
→ 开发者 / GitHub 员工安装或自动更新
→ 恶意扩展搜寻环境中所有敏感凭证
→ 使用凭证连接 GitHub 内部
→ 窃取权限范围内数据(含约 3800 内部私有仓)
→ macOS 上可能存在持久化(需按官方指南清理)3.1 恶意扩展的行为(蓝点网转述)
恶意扩展迅速搜寻环境中的所有敏感凭证,并利用这些凭证直接连接 GitHub 内部并开始窃取任何拥有权限的数据——不是只读本地文件,而是用偷来的钥匙进内网。
3.2 三次信任破产
- 上游:TanStack 事件留下凭证债务未彻底清理;
- 发布:单维护者免审发版 = 单点失守即全局推送;
- 终端:员工开发机持有过高权限凭证,扩展可读环境秘密。
四、攻击时间线(UTC,2026-05-19)
蓝点网列出的关键节点:
| 时间(UTC) | 事件 |
|---|---|
| 12:30 | 黑客通过窃取的凭证向微软发布 18.95.0 版 |
| 12:36 | 开发团队收到新版本发布的邮件通知 |
| 12:47 | 开发团队立即在微软插件市场取消扩展发布 |
| 12:48 | 微软收到开发者请求后取消恶意版本的发布 |
| 13:09 | OpenVSX 平台恶意版才被取消(发现更晚) |
因此:Nx Console 恶意版本在 VS Code 与 OpenVSX 平台的实际存活时间为 36 分钟。
4.1 OpenVSX 延迟
OpenVSX 平台的恶意扩展被发现的比较晚,到 UTC 13:09 开发者才取消恶意版本的发布——比 VS Code 侧晚约 21 分钟。
五、技术细节:安装量 vs 激活量
5.1 官方平台统计
- 微软数据显示:窗口期内安装恶意扩展的次数仅为 28 次;
- OpenVSX 平台:安装次数为 41 次;
5.2 Nx 内部分析
- Nx Console 通过内部分析发现:VSCode 恶意版本激活量达 6000 次;
- 其他平台包括 Cursor 等平台的激活量为 0;
- 开发团队认为:实际安装恶意扩展的开发者可能超过 6000 名。
5.3 为何数字差这么大?
蓝点网转述团队判断,但未展开技术原因。对安全运营的实际启示是:
商店后台的「安装次数」可能严重低估真实暴露面——应以「是否运行过 18.95.0」为准,而不是只看 28 次安装自我安慰。
可能因素包括:自动更新延迟上报、离线激活、遥测口径差异等(此为分析性建议,非蓝点网原文)。
5.4 macOS 持久化
蓝点网强调:这些恶意代码在 macOS 上还存在持久化问题,开发者可能需要按照指南仔细进行排查;如果仍然不放心,甚至可能需要直接重置系统确保恶意代码被清理干净。
Nx Console 团队已在 GitHub 上发布详细的删除恶意代码的方法和其他指南。
六、影响面
6.1 GitHub 公司
- 约 3800 个内部私有源代码仓库泄露;
- 源头为员工在窗口期安装恶意扩展;
- 证明 IDE 扩展供应链可直达核心代码资产。
6.2 普通 Nx 用户
蓝点网称:其他在窗口期内安装该扩展程序的开发者很显然也已经被窃取数据,只不过可能很多开发者还不清楚自己的所有凭证已经被窃取。
6000+ 激活意味着潜在规模远大于 GitHub 单一受害者。
6.3 生态信任
- TanStack → Nx Console → GitHub 的链条显示:上游凭证债务会向下游爆炸;
- 免审发版模式在扩展生态中普遍存在,风险被长期低估。
七、自查命令与排查步骤
7.1 确认是否安装 18.95.0
VS Code:
# 查看已安装扩展及版本(需在 VS Code CLI 可用环境)
code --list-extensions --show-versions | grep -i nx
# 扩展目录(macOS 示例)
ls ~/.vscode/extensions/ | grep -i nx-console
# 扩展目录(Windows 示例)
dir "%USERPROFILE%\.vscode\extensions" | findstr /i nx若版本号含 18.95.0,按中招处理。
Cursor 用户:
蓝点网称 Cursor 等平台激活量为 0,但仍建议核对本机扩展版本以防口径差异。
7.2 检查异常网络与凭证使用(建议)
- 审查 GitHub / GitLab 审计日志:窗口期(UTC 2026-05-19 12:30 起)是否有陌生 IP、token 使用;
- 检查是否新增 Deploy Key、Personal Access Token、SSH Key;
- 查 CI/CD Actions / Pipeline 异常运行。
7.3 macOS 持久化排查
- 按 Nx Console 团队在 GitHub 发布的指南逐步操作(蓝点网明确指向官方指南,具体路径请查阅 Nx 官方仓库);
- 检查 LaunchAgents、LaunchDaemons、cron 是否有窗口期新增项。
八、应急步骤
蓝点网建议:安装 Nx Console 的开发者都需要立即检查;建议直接轮换所有关键凭证,轮换后检查各类凭证是否存在异常登录。
8.1 个人开发者
- 确认是否安装/激活过 18.95.0(含自动更新);
- 按 Nx 官方 GitHub 指南删除恶意代码;
- macOS 重点查持久化;不放心则重置系统;
- 轮换:云密钥、Git 令牌、SSH、npm、公司 SSO 等;
- 审查 GitHub/GitLab 审计日志、异常仓库、异常 Actions;
- 向公司安全组报备。
8.2 企业安全团队
- MDM / 扩展白名单:强制卸载 18.95.0;
- 统计谁在 UTC 12:30~13:09 窗口在线更新过 Nx Console;
- 对曾访问内网代码的终端提高轮换级别;
- 检查异常 outbound 到陌生凭证收集端。
8.3 轮换后验证
- 旧 token 应已失效;
- 服务器 auth.log / 云审计中不应再出现使用旧凭证的记录;
- 若仍有,说明攻击者可能已建立其他持久化路径。
九、制度建议
9.1 Nx 团队已表态的方向(蓝点网转述)
开发团队后续会改进流程,不再允许不经人工审批发布扩展新版本,提高黑客利用失窃凭证直接发版的难度;并建议其他 VS Code 扩展开发者遵循相同流程。
9.2 可复制的最小发布基线(建议)
| 控制项 | 说明 |
|---|---|
| 双人审批 | 任何市场发版需第二人确认 |
| 硬件 MFA | 发布账号强制 FIDO |
| 异常告警 | 新版本发布邮件进入 on-call |
| 凭证隔离 | 扩展发布权与日常开发凭证分离 |
| 上游联动 | TanStack 类事件应触发强制轮换与发版冻结 |
9.3 IDE 扩展企业治理(建议)
扩展通常拥有:工作区文件读写、环境变量可见、自动更新。建议:
- 扩展白名单(允许列表,非黑名单);
- 延迟自动更新,金丝雀组先行;
- 禁止在「持有生产凭证」的 profile 里装大量未知扩展;
- 评估发布者是否免审、是否多人维护。
十、FAQ
Q:恶意版本号是多少?
A:Nx Console v18.95.0。
Q:活了多久?
A:约 36 分钟(VS Code + OpenVSX,UTC 2026-05-19 12:30 起算)。
Q:到底有多少人安装?
A:微软统计 28 次安装,OpenVSX 41 次;但 Nx 内部分析 VS Code 激活量约 6000,团队认为实际可能超过 6000 名开发者。
Q:和 GitHub 泄露的关系?
A:蓝点网明确:GitHub 被黑源头是员工安装的 Nx Console 恶意扩展;泄露约 3800 个内部私有仓。
Q:凭证从哪来的?
A:维护者在此前 TanStack 供应链攻击中被窃取凭证。
Q:Cursor 用户需要排查吗?
A:蓝点网称 Cursor 等平台激活量为 0,但本机仍建议核对扩展版本。
Q:macOS 为什么要重装系统?
A:蓝点网称恶意代码在 macOS 存在持久化问题;若按官方指南仍不放心,可重置系统。
Q:GitHub 普通用户受影响吗?
A:蓝点网本文聚焦 GitHub 内部约 3800 私有仓及安装恶意扩展的开发者凭证泄露,未描述 GitHub 公有用户库大规模泄露。
十一、给管理层的一页纸
- 事实:恶意 Nx Console 18.95.0 存活约 36 分钟,VS Code 激活约 6000;与 GitHub 约 3800 内部仓泄露同源。
- 根因:TanStack 凭证债务 + 免审发版 + 开发机权限过大。
- 立刻:全员自查 Nx Console 版本;按 GitHub 指南清恶意代码与 macOS 持久化;轮换凭证。
- 制度:扩展白名单、发版双审、上游供应链事件强制轮换。
十二、与 2026 年供应链攻击潮的对照
| 事件 | 载体 | 特点 |
|---|---|---|
| Apifox | 桌面 CDN JS | 打开即中招 |
| Bitwarden CLI | npm 93 分钟 | 短窗 + 高信任包 |
| Nx Console | VS Code 扩展 36 分钟 | 6000 激活 → 内网源码 |
| Axios | npm 维护者 | 明星依赖 |
Nx Console 案例的独特性在于:扩展权限 + 员工高权限凭证 → 直接打到代码托管平台内网。
十三、深度解读:从 TanStack 到 GitHub 的凭证债务
蓝点网把整条链讲得很清楚:TanStack 供应链攻击 → 维护者凭证泄露 → 免审发布 Nx Console 18.95.0 → 开发者 / GitHub 员工安装 → 扩展搜刮凭证 → 连接 GitHub 内部 → 约 3800 私有仓泄露。
这一链条对企业有三个硬性启示:
- 上游安全事件不是「别人家的新闻」——若你的维护者也是其他项目的维护者,凭证债务会跨项目传递;
- IDE 扩展权限 ≈ 半个 root——能读环境秘密就能进内网;
- 市场安装统计不能当暴露面 KPI——6000 激活 vs 28 安装的落差是本文最重要的运营教训之一。
13.1 为何 GitHub 员工也会装 Nx Console
Nx 在前端 monorepo 生态极普及,GitHub 内部工程师同样可能使用 Nx 管理项目。内部员工终端与外部开发者终端面临相同的扩展供应链风险——甚至因内网凭证价值更高而后果更严重。
13.2 OpenVSX 21 分钟延迟
UTC 12:48 VS Code 侧已取消恶意版,OpenVSX 直到 13:09 才取消——使用 OpenVSX 源(如部分 VSCodium 用户)多暴露 21 分钟。蓝点网给出精确时间点,团队应据此核对本机扩展源。
十四、扩展 FAQ
Q:恶意扩展在哪个市场发布?
A:微软 VS Code 插件市场与 OpenVSX 均有;两平台合计存活约 36 分钟。
Q:18.95.0 是唯一恶意版本吗?
A:蓝点网全文仅指 v18.95.0 为恶意版本;排查应聚焦该版本。
Q:Nx 团队在哪里发清理指南?
A:蓝点网称团队在 GitHub 上发布详细删除恶意代码的方法和其他指南——请前往 Nx Console 官方仓库查阅最新文档。
Q:36000 还是 3800 个仓库?
A:蓝点网写的是约 3800 个内部私有源代码仓库,勿与其他事件的数字混淆。
Q:TanStack 事件细节在哪?
A:蓝点网仅说明凭证来自此前的 TanStack 供应链攻击,未在本文展开 TanStack 细节;排查 Nx Console 时不依赖 TanStack 是否与你有关——只要装过 18.95.0 就应响应。
Q:Windows 有持久化吗?
A:蓝点网明确提到 macOS 存在持久化问题;Windows 用户仍应按官方指南排查,但 macOS 被点名需重装系统。
十五、扩展自查:扩展缓存与自动更新(建议)
# Windows:列出 Nx Console 扩展目录及 manifest 版本
Get-ChildItem "$env:USERPROFILE\.vscode\extensions" -Filter "*nx-console*" |
ForEach-Object { Get-Content "$($_.FullName)\package.json" | Select-String "version" }# macOS / Linux:检查 VS Code 自动更新日志(路径因安装方式而异)
# 关注 2026-05-19 UTC 12:30~13:09 是否更新 nx-console若 manifest 中版本为 18.95.0,按蓝点网建议立即检查、清理、轮换。
十六、来源与声明
本文事实依据:蓝点网《请火速排查!知名扩展Nx Console遭供应链攻击 这也是GitHub被黑的源头》。
时间线(UTC 2026-05-19 12:30 发布至 13:09 OpenVSX 下架)、6000 VS Code 激活量、28 / 41 安装量、约 3800 GitHub 内部私有仓、TanStack 凭证来源、macOS 持久化、免审发版改革、Cursor 激活量 0 均转述自该报道。第七、九、十四、十五节扩展内容为通用安全实践;Nx 官方清理步骤请以团队在 GitHub 发布的指南为准。



