案例 nx-s1ngularityAI 供应链全球
s1ngularity:被植入木马的Nx包武器化Claude和Gemini CLI窃取密钥
恶意的Nx npm版本以绕过权限的参数运行本地AI编程CLI来清点密钥,随后将数千名开发者的凭据泄露到公开的GitHub仓库。
严重针对 AI 的攻击状态: 已控制已核实案例档案
- 报道日期
- 2025年8月27日
- 地点
- 全球
- 目标
- Nx构建系统用户
- 严重程度
- 严重
- 发起者
- 身份不明的供应链攻击者(s1ngularity)
- 行为者类型
- 犯罪团伙
- 已报告损失
- 未报告
- CVE
- 无
发生了什么
恶意的Nx npm版本以绕过权限的参数运行本地AI编程CLI来清点密钥,随后将数千名开发者的凭据泄露到公开的GitHub仓库。
影响: 约1000名开发者的2000多个密钥和2万个文件泄露;480个账户的约6700个私有仓库被公开;据Wiz统计总计2180个账户受影响
谁发起了攻击
行为者: 身份不明的供应链攻击者(s1ngularity)
归因: 无公开归因;由Nx维护者、Wiz、StepSecurity、Socket和GitHub Security Lab分析
动机: 大规模窃取开发者密钥(GitHub和npm令牌、SSH密钥、加密货币钱包、云凭据)
如何发生
攻击途径: Nx npm 20.9.0至21.8.0版本中的恶意postinstall脚本,以绕过权限的参数运行Claude、Gemini和Q CLI查找密钥,再推送到公开的GitHub仓库
根本原因: Nx的GitHub Actions工作流使用pull_request_target且未对PR标题做净化处理,使攻击者得以从一个过时分支窃取npm发布令牌
时间线
- 存在漏洞的工作流被加入Nx仓库;在master上被回退,但仍存在于一个过时分支
- 攻击者向npm发布被植入木马的Nx版本;恶意软件运行AI CLI并泄露密钥,持续数小时
- Nx下架恶意版本、撤销令牌并发布安全通告GHSA-cxm3-wv7p-598c
- 第二阶段:被盗GitHub令牌被用于将480个账户下约6700个私有仓库改为公开
- Wiz报告三个阶段共影响2180个账户和7200个仓库
应对
Nx撤销npm令牌、移除软件包、强制启用2FA和可信发布;GitHub移除了泄露的仓库;受害者被要求轮换全部凭据
当前状态: 已控制
来源(在新标签页打开)
- Okta okta.com
- Wiz wiz.io
- BleepingComputer bleepingcomputer.com
- GitHub Security Lab securitylab.github.com
引用此案例
s1ngularity:被植入木马的Nx包武器化Claude和Gemini CLI窃取密钥. AI Threat Watch, 案例 nx-s1ngularity, 2025年8月27日. https://aithreat.io/zh/cases/nx-s1ngularity/