双重打击:AntV npm包与Nx Console VS Code插件遭供应链投毒事件深度解析

引言

2026年5月,前端与开发者工具生态接连遭遇两起严重的供应链攻击事件。先是AntV生态的数百个npm包被植入恶意代码,随后安装量超220万的VS Code插件Nx Console也被发现存在恶意版本。这两起事件不仅暴露了开发工具链的脆弱性,也标志着供应链攻击正将矛头直接指向开发者本地环境。

一、 AntV npm生态大规模投毒事件

1.1 事件概述

  • 攻击时间:2026年5月(具体日期未明确,但文档提及“昨天”)
  • 攻击目标@antv 相关npm包生态系统
  • 影响范围:涉及数百个包、数百个恶意版本
  • 关键受害包echarts-for-react(每周下载量约110万次)
  • 披露方:安全公司Socket

安全警报截图:显示echarts-for-react被标记为恶意软件
图:Socket安全平台显示echarts-for-react包被标记为恶意软件,并详细列出了供应链风险指标

1.2 攻击手法分析

攻击者通过入侵npm维护者账户 “atool” 发起攻击,具体流程如下:

graph TD
    A[攻击者入侵atool账户] --> B[发布带恶意代码的AntV包]
    B --> C[开发者执行npm install]
    C --> D[恶意代码自动执行]
    D --> E[窃取各类凭证与密钥]
    E --> F[利用窃取权限传播更多恶意包]
    F --> B

1.3 窃取目标清单

恶意代码主要窃取以下敏感信息:

  • 代码平台凭证:GitHub Token、npm Token
  • 云服务密钥:AWS/GCP/Azure访问凭证
  • 基础设施配置:SSH Key、Kubernetes配置、Docker凭证
  • 环境机密.env文件内容、CI/CD Secrets

1.4 攻击扩散机制

最危险的特性在于自我传播能力

  1. 开发者中招 → 2. Token泄漏 → 3. 攻击者利用窃取的npm/GitHub权限发布更多恶意包 → 4. 进一步扩散感染

二、 Nx Console VS Code插件投毒事件

1.1 事件概述

  • 攻击时间:2026年5月18日
  • 攻击目标:Nx Console VS Code扩展(nrwl.angular-console
  • 恶意版本18.95.0
  • 影响范围:VS Code、Cursor、Windsurf、VSCodium
  • 用户基数:安装量超过220万
  • 在线时长:仅十几分钟(但因自动更新功能快速传播)

!https://via.placeholder.com/800x400?text=StepSecurity+博客截图:Nx+Console+VS+Code扩展被入侵
图:StepSecurity博客发布的Nx Console VS Code扩展被入侵警报,详细说明了攻击细节

1.2 攻击特殊性

与npm包攻击不同,此次攻击无需执行npm install

  • 开发者只要打开项目,被感染的插件就可能自动执行恶意代码
  • Payload来自官方GitHub仓库路径,绕过许多安全工具的信任检测
  • 利用了VS Code插件的高权限特性

1.3 VS Code插件权限风险

现代开发插件已远非简单UI工具,它们拥有:

├── 文件系统权限(读写任意文件)
├── Shell权限(执行系统命令)
├── Git权限(访问版本控制)
├── 网络权限(发起HTTP请求)
└── 环境变量权限(读取敏感配置)

1.4 窃取目标扩展

除了常规凭证外,此次攻击还针对:

  • OpenAI API Key
  • 数据库密码
  • 其他本地存储的敏感信息

三、 攻击手法对比分析

攻击维度 AntV npm投毒 Nx Console插件投毒
入口点 npm包依赖安装 VS Code插件自动更新
触发条件 执行npm install 打开项目/插件激活
传播速度 依赖开发者主动更新 编辑器自动更新加速传播
检测难度 相对较低(有lockfile可查) 较高(Payload来自官方源)
影响范围 使用AntV生态的项目 使用Nx Console的开发者
权限级别 项目级别 系统/用户级别

四、 影响范围与严重性评估

4.1 直接影响

  • AntV生态:数百个包被污染,影响React、ECharts等流行技术栈用户
  • Nx Console用户:超过220万开发者面临风险
  • 凭证泄露:企业GitHub组织、云服务账户、内部系统可能被渗透

4.2 间接影响

  1. 信任危机:开发者对开源包和官方插件的信任度下降
  2. 开发效率:安全审查流程可能拖慢开发进度
  3. 合规风险:可能导致数据泄露合规问题

五、 自查与应急响应指南

5.1 AntV npm包投毒自查步骤

步骤1:检查lockfile

# 检查package-lock.json、pnpm-lock.yaml或yarn.lock
grep -n "@antv" package-lock.json
grep -n "echarts-for-react" package-lock.json

步骤2:清理并重新安装

# 彻底清理依赖
rm -rf node_modules
rm package-lock.json  # 或pnpm-lock.yaml/yarn.lock

# 重新安装(确保使用干净环境)
npm install

步骤3:检查IOC(入侵指标)

# 检查网络请求日志中是否有恶意域名
grep -r "t\.m-kosche\.com" /var/log/
# 或检查浏览器历史、系统日志等

步骤4:立即轮换所有凭证

必须立即更换的凭证清单

  • [ ] GitHub Personal Access Token (PAT)
  • [ ] npm访问令牌
  • [ ] AWS/Azure/GCP访问密钥
  • [ ] SSH公钥/私钥对
  • [ ] Kubernetes kubeconfig
  • [ ] Docker registry凭证
  • [ ] CI/CD流水线密钥
  • [ ] 数据库连接字符串
  • [ ] 其他.env中的敏感信息

5.2 Nx Console插件投毒自查步骤

步骤1:检查已安装版本

# 查看是否安装了恶意版本
code --list-extensions --show-versions | grep angular-console

# 预期安全输出示例:
# nrwl.angular-console@18.94.0
# 危险输出示例:
# nrwl.angular-console@18.95.0  # 此为恶意版本!

步骤2:立即处理恶意插件

# 卸载恶意版本
code --uninstall-extension nrwl.angular-console

# 安装官方确认的安全版本
code --install-extension nrwl.angular-console@18.94.0

步骤3:全面凭证轮换

除了5.1中的凭证外,还需特别检查:

  • [ ] OpenAI API密钥
  • [ ] 本地开发环境配置
  • [ ] IDE设置中的敏感信息

步骤4:检查GitHub账户异常

登录GitHub,重点检查:

  1. Settings → Developer settings → Personal access tokens

    • 是否有未知的新增PAT
    • 现有PAT的最近使用记录是否异常
  2. 仓库级别检查

    • 是否有未知的Deploy Keys
    • 是否有异常的Workflow运行记录
    • 检查最近是否有未经授权的npm发布
  3. 组织安全

    • 检查组织成员的最近活动
    • 审查第三方应用授权

六、 开发者安全防护建议

6.1 日常开发习惯

  1. 锁版本策略:始终使用精确版本号或lockfile

    // package.json - 推荐
    "dependencies": {
      "some-package": "1.2.3"  // 精确版本
    }
    
    // 避免
    "dependencies": {
      "some-package": "^1.2.3"  // 允许小版本更新
    }
  2. 依赖审计工具:定期使用安全扫描

    # npm audit
    npm audit
    
    # 使用专业工具
    npx socket-cli analyze
  3. 最小权限原则:为CI/CD和开发环境使用有限权限的令牌

6.2 工具链安全加固

  1. VS Code安全设置

    // settings.json
    {
      "extensions.autoUpdate": false,  // 关闭自动更新
      "extensions.autoCheckUpdates": false,
      "security.workspace.trust.enabled": true,
      "git.autoRepositoryDetection": false
    }
  2. 使用沙盒环境

    • 考虑使用Docker容器进行依赖安装
    • 使用虚拟机或独立环境进行高风险操作
  3. 网络层防护

    • 配置防火墙规则,限制开发机出站连接
    • 使用本地npm镜像源,并配置白名单

6.3 组织级安全措施

  1. 私有仓库镜像:搭建内部npm、VS Code插件市场
  2. 安全扫描集成:在CI/CD流水线中加入依赖扫描
  3. 凭证管理:使用Vault等专业密钥管理工具
  4. 安全培训:定期对开发团队进行供应链安全培训

七、 事件反思与行业影响

7.1 攻击趋势变化

graph LR
    A[传统攻击] --> B[应用运行时]
    C[新型攻击] --> D[开发构建时]
    D --> E[开发工具链]
    E --> F[本地开发环境]

7.2 工具链安全新认知

  1. npm install ≠ 安全操作:实质是“执行陌生代码”
  2. 编辑器插件 ≠ 无害工具:拥有系统级权限
  3. 官方源 ≠ 绝对可信:账户劫持可污染官方发布

7.3 未来风险预测

可能成为新攻击入口的领域:

  • AI Coding助手:GitHub Copilot、Cursor等
  • 低代码平台:内部组件库、模板系统
  • 构建工具插件:Webpack、Vite插件系统
  • 云开发环境:GitHub Codespaces、Gitpod等

八、 总结

2026年5月接连发生的AntV npm包和Nx Console VS Code插件投毒事件,为整个开发者社区敲响了警钟。这两起事件清晰地表明:

开发工具链已成为供应链攻击的主战场

攻击者正在将目标从生产环境前移到开发环境,从运行时攻击转向构建时攻击。面对这种变化,开发者需要:

  1. 转变安全观念:将本地开发环境视为关键安全边界
  2. 实施纵深防御:从依赖管理、工具配置到网络隔离多层防护
  3. 建立应急流程:制定明确的供应链攻击响应预案
  4. 推动生态改进:参与开源项目安全建设,支持供应链安全工具

只有整个社区共同重视并行动,才能构建更安全的开发环境,抵御日益复杂的供应链攻击。


最后更新:2026年5月22日
数据来源:Socket安全报告、StepSecurity博客、The Hacker News
建议行动:所有使用AntV生态或Nx Console的团队应立即按照本文指南进行自查

免责声明:本文基于公开安全报告整理,具体安全措施请根据实际情况调整。建议关注官方安全公告获取最新信息。

Last modification:May 22, 2026
如果觉得我的文章对你有用,请随意赞赏