根据Nx“s1ngularity”NPM供应链攻击的调查显示,数千个账户令牌和代码仓库密钥遭泄露。Wiz研究人员事后评估,此次Nx安全漏洞在三个不同阶段共导致2180个账户和7200个仓库面临风险。Wiz同时强调,由于许多泄露的密钥仍处于有效状态,攻击的影响范围仍十分广泛,且后续效应仍在持续显现。
Nx “s1ngularity”供应链攻击详情
Nx是一款流行的开源构建系统及单仓库(monorepo)管理工具,广泛应用于企业级JavaScript/TypeScript生态,在NPM包索引上的周下载量超过550万次。
2025年8月26日,攻击者利用Nx代码仓库中存在缺陷的GitHub Actions工作流,在NPM上发布了恶意版本的Nx包,其中包含一个名为“telemetry.js”的安装后恶意脚本。
该恶意脚本是一款针对Linux和macOS系统的凭据窃取工具,试图窃取GitHub令牌、npm令牌、SSH密钥、.env文件、加密货币钱包等信息,并将这些敏感数据上传至名为“s1ngularity-repository”的公共GitHub仓库。
此次攻击的特殊之处在于,凭据窃取工具会利用已安装的人工智能平台命令行工具(如Claude、Q、Gemini等),通过大语言模型(LLM)提示词搜索并收集敏感凭据与密钥。
Wiz报告指出,攻击过程中提示词不断迭代更新,表明攻击者在通过调整提示词提升攻击成功率。
LLM提示搜索和窃取凭证和其他密钥
Wiz解释道:“提示词的演变显示,攻击者在整个攻击过程中快速探索提示词调优方法。我们能看到‘角色提示’的引入,以及针对不同技术的具体描述程度变化。”
这些调整对恶意软件的攻击成功率产生了实际影响。例如,加入‘渗透测试’一词后,大语言模型明确拒绝参与此类活动,这一变化十分明显。
攻击影响范围持续扩大
第一阶段(8月26日-27日)
被植入后门的Nx包直接影响1700名用户,泄露超2000个唯一密钥,并导致受感染系统的2万个文件被暴露。GitHub在8小时后下架了攻击者创建的仓库,但数据已被复制。
第二阶段(8月28日-29日)
攻击者利用泄露的GitHub令牌将私有仓库转为公开,并在仓库名称中加入“s1ngularity”字符串。这进一步导致480个账户(其中大部分为企业组织账户)沦陷,6700个私有仓库被公开暴露。
第三阶段(8月31日起)
攻击者将目标锁定在单个受害组织,利用两个已攻陷的账户额外公开了500个私有仓库。
s1ngularity攻击概述
Nx团队的应对措施
Nx团队在GitHub上发布了详细的根本原因分析,指出此次漏洞源于“拉取请求(PR)标题注入”与“不安全使用pull_request_target”的结合。这种组合使攻击者能够以提升的权限执行任意代码,进而触发Nx的发布流水线,并窃取npm发布令牌。
目前,Nx团队已采取以下补救措施:移除恶意包、撤销并轮换遭泄露的令牌、为所有发布者账户启用双因素认证。
为防止类似漏洞再次发生,Nx项目现已采用NPM的“可信发布者(Trusted Publisher)”模式(该模式无需基于令牌的发布流程),并为PR触发的工作流新增了手动审批环节。
参考及来源:https://www.bleepingcomputer.com/news/security/ai-powered-malware-hit-2-180-github-accounts-in-s1ngularity-attack/
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.