S1ngularity 泄漏:GitHub 和 NPM 受到影响🚨

最近,针对 Nx 供应链攻击事件“s1ngularity”的调查揭示了大规模凭证泄露:数千个账户令牌和存储库机密被泄露,影响了事件的多个阶段。Wiz 的一份事后报告记录了此次事件的范围,并深入分析了此次数据泄露的演变过程及其影响。🚨📊
根据 Wiz 研究人员发布的评估,此次泄露事件导致 2,180 个账户和 7,200 个存储库分三个阶段暴露,其中许多秘密仍然有效, 持续损害的风险白皮书提供了有关时间线、攻击者的技术以及泄露机密的性质的详细信息。🔍📈
Nx 供应链攻击⚠️🚀
Nx 是一个开源的单仓库构建和管理系统,广泛应用于企业级 JavaScript/TypeScript 生态系统。NPM 仓库每周下载量达数百万次,一个被盗用的软件包会对众多集成和开发流程造成深远影响。⚙️
入侵媒介和事件日期📅
El 26 de agosto de 2025, el actor malicioso explotó un flujo de trabajo de GitHub Actions vulnerable en el repositorio de Nx para publicar una versión maliciosa del paquete en NPM. El paquete incluía un script post-install malicioso llamado «telemetry.js» que actuó como 恶意软件 extractor de credenciales en los sistemas afectados. 🔥
telemetry.js 恶意软件的工作原理
El malware telemetry.js actuó como un ladrón de credenciales en Linux y macOS, intentando robar tokens de GitHub, tokens de npm, claves SSH, archivos .env, carteras de criptomonedas y otros secretos, para luego subirlos a repositorios públicos de GitHub nombrados «s1ngularity-repository. Este patrón permitió al atacante centralizar y exponer la información robada. 🔐

资料来源:Wiz
攻击者还集成了 AI 平台(例如 Claude、Q 和 Gemini)的命令行工具,以便使用定向提示自动进行搜索和数据收集。Wiz 记录了该提示在攻击过程中的演变过程,包括优化提取并规避某些指令的模型拒绝,这反映了攻击者对 LLM 技术的积极运用。✨💡
影响范围:伤害半径和阶段📈🔥
此次事件分为三个阶段。第一阶段,即8月26日至27日,受感染的Nx版本直接影响了1700名用户,泄露了超过2000个机密信息,此外还暴露了受感染系统中约2万个文件。GitHub随后进行了干预,但大部分数据已被复制。
- 🔹 第一阶段(8月26日至27日): 1,700 名用户受到影响,约 2,000 个机密被泄露,20,000 个文件被盗。
- 🔸 第二阶段(8月28日至29日): 使用泄露的令牌将私有存储库转换为公共存储库;另外 480 个帐户遭到入侵,6,700 个存储库遭到暴露。
- 🔹 第三阶段(8月31日起): 针对受害组织的攻击,使用 账户被盗发布 500多个私人存储库。
在第二阶段,攻击者利用窃取的 GitHub 令牌公开私有存储库,并将其重命名为字符串“s1ngularity”,从而扩大了曝光度。在第三阶段,攻击者利用特定目标发布了数百个额外的私有存储库,展现了攻击者的持久性和升级性。🎯

资料来源:Wiz
Nx 项目响应和缓解措施
Nx 团队在 GitHub 上发布了一份根本原因分析报告,解释了如何在拉取请求的标题中注入代码,并结合 pull_request_target 的不安全使用,从而允许以提升的权限执行任意代码,触发发布管道并导致 npm 发布令牌的泄露。🛠️
已实施的措施包括移除恶意软件包、撤销和轮换受损令牌,以及强制所有发布者账户进行双因素身份验证。此外,Nx 采用了 NPM 的“受信任发布者”模型,并添加了 PR 触发工作流的手动审批功能。🔐📌
快速提示和要点✏️
- ✅ 如果怀疑存在泄露,请立即审查并轮换令牌和机密。
- 📌 避免不安全地使用 pull_request_target 并对敏感流程强制执行手动批准。
- 🔧 实施多因素身份验证和可信发布模型,如 Trusted Publisher。
- ⚡ 监控公共存储库并执行自动秘密搜索以便尽早发现。
定义片段和常见问题解答✨
什么是 telemetry.js?
telemetry.js 是受感染的 Nx 软件包版本中包含的恶意安装后脚本的名称;它在 Linux 和 macOS 系统上充当凭证窃取程序,以收集机密并将其泄露到攻击者控制的公共存储库中。🔍
有多少帐户和存储库受到影响?
根据 Wiz 的报告,此次攻击在事件记录的三个阶段中暴露了 2,180 个帐户和 7,200 个存储库,许多秘密仍然有效,并且存在持续影响的风险。📊
46% de entornos presentaron 密码 comprometidas, casi el doble respecto al 25% del año anterior. Obtén el Picus Blue Report 2025 para un análisis completo sobre prevención, detección y tendencias en exfiltración de datos. 📈
该报告提供了指标、建议和案例研究,以加强防御并改善对机密泄露的应对。




















