Nx构建系统漏洞可能导致敏感数据泄露

在Nx构建系统包中发现严重漏洞,攻击者通过供应链攻击注入恶意代码,可窃取开发凭证、加密货币钱包等敏感数据,并利用AI助手CLI进行数据收集和泄露。

Nx构建系统漏洞可能导致敏感数据泄露

MS-ISAC 咨询编号:2025-090 发布日期:2025年9月25日

概述

在Nx构建系统包中发现了一个漏洞,可能导致敏感数据泄露。Nx是一个智能、快速且可扩展的构建系统,旨在通过提供依赖图分析、计算缓存、分布式任务执行和代码库升级等功能来高效管理单体仓库。

成功利用此漏洞可能允许攻击者执行网络侦察并泄露敏感数据。

威胁情报

根据StepSecurity的信息:

攻击者已成功将恶意代码注入Nx构建系统包和几个相关插件中,以收集主机信息、加密货币钱包和开发凭证。

受感染的Nx包包含一个恶意的安装后钩子,会触发名为telemetry.js的脚本。该脚本在包安装后立即执行,使攻击者能够大规模访问开发人员机器。

telemetry.js SHA-256:99018A87285B1CC9864248AE505ABDDF9C5021EAA66EA10E9CD462B685EDBA81

此恶意软件专门针对非Windows系统。

恶意软件滥用本地AI助手CLI(命令行界面)执行数据收集。

数据收集完成后,恶意软件使用被盗的GitHub令牌创建一个名为s1ngularity-repository的公共GitHub仓库,对数据进行三重base64编码到results.64,然后将编码后的数据上传到该仓库。

为了维持持久性并造成破坏,恶意软件会导致任何新的终端会话立即尝试系统关机,并为受影响的开发人员创建拒绝服务条件。

受影响系统

  • nx/devkit 21.5.0, 20.9.0
  • nx/enterprise 3.2.0
  • nx/eslint 21.5.0
  • nx/js 21.5.0, 20.9.0
  • nx/key 3.2.0
  • nx/node 21.5.0, 20.9.0
  • nx/workspace 21.5.0, 20.9.0

风险等级

政府机构:

  • 大型和中型政府实体:高
  • 小型政府实体:中

企业:

  • 大型和中型企业实体:高
  • 小型企业实体:中

家庭用户:低

技术详情

在Nx构建系统包中发现了一个漏洞,可能导致敏感数据泄露。漏洞详情如下:

战术:初始访问(TA0001) 技术:供应链攻击(T1195)

恶意代码被插入到Nx构建系统包和几个相关插件中。被篡改的包通过供应链攻击发布到npm软件注册表。受影响的版本包含扫描文件系统、收集凭证并将其作为仓库发布到用户GitHub账户下的代码。该恶意软件不仅窃取SSH密钥、npm令牌和.gitconfig文件,还利用AI CLI工具(包括Claude、Gemini和q)协助侦察和数据泄露。(CVE-2025-10894)

成功利用此漏洞可能允许攻击者执行网络侦察并泄露敏感数据。

建议措施

我们建议采取以下行动:

  • Stepsecurity.io建议立即采取以下修复步骤:
  1. 保护组织仓库:将任何暴露的组织仓库重新设为私有 使用此查询检查您的组织是否受到影响(将acme替换为您的GitHub组织名称): https://learn.cisecurity.org/e/799323/-repositories-s-updated-o-desc/4vknyq/2542665573/h/BevE6avHam4c9BfILaqtOy_6j8sxhFFUHSx9bpBfGGw

  2. 隔离受影响的用户:在缓解此问题时将受影响的用户与组织断开连接

  3. 撤销受影响用户的所有访问令牌:在每个受影响用户的账户设置中,撤销:

    • 所有已安装应用
    • 所有授权应用
    • 所有OAuth令牌(特别是GitHub CLI令牌)
    • 所有SSH密钥
    • 所有GPG密钥
  4. 删除分叉仓库:从受影响的用户账户中删除任何可能包含敏感组织数据的分叉仓库

  5. 遵循全面修复:完成我们修复部分概述的所有步骤,确保没有凭证仍然暴露

  • 在经过适当测试后,立即将Nx或其他使用此软件的供应商提供的适当更新应用到易受攻击的系统。(M1051:更新软件)

保障措施7.1:建立和维护漏洞管理流程:建立和维护企业资产的文档化漏洞管理流程。每年或在发生可能影响此保障措施的重大企业变更时审查和更新文档。

保障措施7.2:建立和维护修复流程:建立和维护基于风险的修复策略,记录在修复流程中,并每月或更频繁地进行审查。

保障措施7.4:执行自动化应用程序补丁管理:每月或更频繁地通过自动化补丁管理对企业资产执行应用程序更新。

保障措施7.5:执行内部企业资产的自动化漏洞扫描:每季度或更频繁地执行内部企业资产的自动化漏洞扫描。使用符合SCAP标准的漏洞扫描工具进行认证和非认证扫描。

保障措施7.7:修复检测到的漏洞:每月或更频繁地基于修复流程通过流程和工具修复软件中检测到的漏洞。

保障措施12.1:确保网络基础设施是最新的:确保网络基础设施保持最新。示例实现包括运行最新的稳定软件版本和/或使用当前支持的网络即服务(NaaS)产品。每月或更频繁地审查软件版本以验证软件支持。

保障措施18.1:建立和维护渗透测试计划:建立和维护适合企业规模、复杂性和成熟度的渗透测试计划。渗透测试计划特征包括范围,如网络、Web应用程序、API、托管服务和物理场所控制;频率;限制,如可接受的时间和排除的攻击类型;联系点信息;修复,如发现将如何在内部路由;以及回顾性要求。

保障措施18.2:执行定期外部渗透测试:基于计划要求执行定期外部渗透测试,不少于每年一次。外部渗透测试必须包括企业和环境侦察以检测可利用信息。渗透测试需要专业技能和经验,必须通过合格方进行。测试可以是白盒或黑盒。

保障措施18.3:修复渗透测试发现:基于企业的修复范围和优先级策略修复渗透测试发现。

  • 漏洞扫描用于查找潜在可 exploitable 的软件漏洞以进行修复。(M1016:漏洞扫描)

保障措施16.1:建立和维护安全的应用程序开发流程:建立和维护安全的应用程序开发流程。在流程中解决以下事项:安全应用程序设计标准、安全编码实践、开发人员培训、漏洞管理、第三方代码安全性以及应用程序安全测试程序。每年或在发生可能影响此保障措施的重大企业变更时审查和更新文档。

保障措施16.2:建立和维护接受和处理软件漏洞的流程:建立和维护接受和处理软件漏洞报告的流程,包括提供外部实体报告的方式。该流程应包括以下事项:识别报告流程的漏洞处理政策、负责处理漏洞报告的负责方,以及接收、分配、修复和修复测试的流程。作为流程的一部分,使用包括严重性评级和用于衡量识别、分析和修复漏洞时间的指标的漏洞跟踪系统。每年或在发生可能影响此保障措施的重大企业变更时审查和更新文档。第三方应用程序开发人员需要将其视为外部面向的政策,有助于为外部利益相关者设定期望。

保障措施16.4:建立和管理第三方软件组件清单:建立和管理开发中使用的第三方组件的更新清单,通常称为"材料清单",以及计划未来使用的组件。此清单应包括每个第三方组件可能带来的任何风险。至少每月评估列表以识别这些组件的任何更改或更新,并验证组件是否仍受支持。

参考资料

  • CVE:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-10894
  • StepSecurity:https://www.stepsecurity.io/blog/supply-chain-security-alert-popular-nx-build-system-package-compromised-with-data-stealing-malware#check-if-youre-impacted
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计