近日,安全界爆发了一起引人注目的供应链攻击事件——代号为‘s1ngularity’的恶意攻击针对流行的Nx构建系统进行渗透,导致2349个GitHub、云平台及人工智能凭证被暴露。这一事件不仅暴露了当前开源软件生态的潜在安全隐患,也揭示了攻击者利用自动化及人工智能工具入侵开发者环境的新趋势。作为一个拥有超过350万周下载量的开源构建平台,Nx广泛被开发者用来管理大型代码库,其组件受到了极大的信赖。攻击始于2025年8月26日,攻击者通过篡改Nx及其相关辅助插件的多个npm版本,植入了能够扫描用户文件系统并窃取敏感信息的恶意代码。事件背后的根源在于八月下旬一次工作流系统的漏洞。该工作流允许通过特制的拉取请求标题实现任意命令执行,结合GitHub的pull_request_target触发器带来的高权限运行环境,攻击者成功绕过了预期的安全限制。
这种权限滥用让攻击者获得了读写权限的GITHUB_TOKEN,进而利用该令牌启动了名为publish.yml的发布工作流,发布了包含窃密后门的恶意npm包。恶意后门的设计极具隐蔽性。安装后的postinstall脚本会自动激活,对系统中存在的文本文件进行搜索,提取诸如SSH密钥、配置文件甚至数据库凭证等敏感信息,编码后上传到公开的GitHub仓库中,这些仓库以“s1ngularity-repository”命名,分布在被感染用户的账户下。此外,恶意脚本还对用户的.shell配置文件进行篡改,植入“sudo shutdown -h 0”命令,诱使用户输入系统密码后立即关闭机器,成为另一种破坏手段。安全厂商GitGuardian、Wiz、StepSecurity等对事件进行了深度分析。GitGuardian检测到多达1346个这样的恶意仓库,覆盖逾千用户和组织,泄露的秘密包括大量有效的GitHub OAuth密钥、个人访问令牌、Google AI、OpenAI、阿里云、Amazon Web Services等多个云服务和AI平台的API密钥。
这些凭证的泄露严重威胁了相关账户和服务的安全完整性。更令人关注的是攻击者将人工智能开发者工具也被纳入攻击面。恶意代码利用了安装在受害者系统中的AI命令行工具,通过传递危险参数(如--dangerously-skip-permissions、--yolo、--trust-all-tools)操控这些工具进行文件系统侦察,提取敏感信息。这种创新的攻击手法显示攻击者正逐步将AI助手转变为攻击自动化的工具,摆脱了传统安全边界带来的限制。事件也凸显出CI/CD流水线中长期存在的npm令牌安全隐患。利用受感染的CI工作流触发发布,攻击者获得了关键的发布权限,短短数日间便发布了多个恶意版本。
虽然事发后,Nx团队迅速回滚了相关工作流,更新了权限策略,加强了令牌轮换和双重认证措施,但现实中分支管理不严密及多重工作流设计失误,仍为攻击者留下了突破口。Wiz安全研究人员指出,第二波攻击紧接着爆发,涉及超过190个用户和3000个仓库,攻击者利用已泄露令牌,将私有仓库公开,进行数据窃取与持久占据。且目前尚无法确定这些行动是否出自同一攻击团伙,但极有可能是其他威胁利用首波泄露的令牌进行二次利用。基于此次事件,开发者和企业应高度重视供应链安全风险,定期审计项目依赖,加强敏感凭证的管理和监控,尤其是在涉及自动化工作流权限和npm令牌的使用上必须加固措施。与此同时,对于本地开发环境,需重点排查shell配置文件异常,及时清理恶意代码残留。针对AI辅助开发工具,用户需谨慎开启高权限模式,避免在不安全的上下文中运行有风险的命令行参数。
安全专家呼吁,未来需要针对AI助手及类似自动化工具设计更完善的安全防护机制,确保其不会被恶意利用。供应链攻击的演变突显了全球软件开发环境的脆弱性。攻击者越来越善于搭乘技术进步的东风,将看似可信赖的工具转化为攻击载体。防御者除了依赖传统的身份和访问管理工具外,还必须深入了解CI/CD流水线所有触发点和权限边界,从根本上减少信任盲区,建立动态、持续的安全审计体系。对开发者而言,这次事件是一个严重警醒,要提高对第三方包的安全意识,合理评估依赖风险,避免盲目升级或引入未被充分验证的软件版本。加固代码仓库和自动化流程中的权限管理,不仅是防御单一事件的需求,更是应对未来复杂威胁的必由之路。
整体来看,‘s1ngularity’事件开创了利用AI开发工具作为攻击代理的新模式,展现了攻击技术的迅猛进化。各方安全力量必须迅速整合应对策略,提升软硬件安全协同水平,构建一个更加健壮和可信赖的软件开发生态环境。未来,供应链安全将持续成为焦点课题,唯有合作共享威胁情报,强化技术创新与管理规范,才能击退层出不穷的复杂攻击,保护数字世界的根基安全。