从npm投毒到云端失守:UNC6426借GitHub—AWS信任链72小时夺取管理员权限

一次精心策划的供应链攻击近日被曝光,其完整的攻击链条和快速的权限提升过程引发业界高度关注。这起事件从去年8月针对Nx开源项目的npm包投毒开始,最终导致受害企业云环境遭到全面破坏,整个过程仅耗时不足三天。 攻击的第一步源于开源项目维护环节的漏洞。不明身份的威胁组织利用Nx项目中存的pull_request_target工作流缺陷,通过所谓的"Pwn Request"攻击方式获得了提升的权限。攻击者随后访问了GitHub令牌等敏感凭证,并将恶意代码注入npm包中。这个被污染的包在上传至npm官方仓库后,被部署到众多开发者的本地环境。 恶意包中嵌入的postinstall脚本启动了一个名为QUIETVAULT的凭证窃取工具。该工具利用开发者环境中已安装的大语言模型工具,系统性地搜索并提取环境变量、系统信息以及各类身份认证令牌。被盗取的GitHub个人访问令牌随后被上传至攻击者控制的公开仓库。 真正的转折点出现在受害企业的一名员工运行代码编辑器时。这个看似平常的操作触发了恶意脚本执行,使得攻击者获得了进入企业内部系统的第一个立足点。随后的两天内,攻击者利用窃取的令牌在GitHub环境中展开了系统性的侦察活动。他们使用名为Nord Stream的合法开源工具从持续集成与持续部署环境中提取秘密信息,最终获得了GitHub服务账户的凭据。 关键的权限提升发生在AWS环节。攻击者利用GitHub与AWS之间的OpenID Connect信任关系,通过服务账户生成了临时的AWS安全令牌。由于"Actions-CloudFormation"角色被给予了过度的权限,攻击者得以部署新的云基础设施堆栈。这个恶意堆栈的唯一目的就是创建具有管理员权限的新身份角色。至此,攻击者在不足72小时内完成了从初始凭证窃取到云环境管理员权限的全面升级。 获得管理员权限后,攻击者的破坏活动随之展开。他们枚举并访问了云存储中的敏感数据,终止了生产环境中的计算和数据库实例,解密了应用程序密钥。最后,受害企业的所有内部代码仓库被重命名并公开发布,造成了严重的数据泄露和业务中断。 这起事件反映出当前云安全防护中存在的系统性问题。首先,开源项目的维护流程存在工作流漏洞,为攻击者提供了初始入侵点。其次,身份认证体系中的信任链条过长,一个环节的沦陷会导致整个链条的失效。再次,云环境中的权限配置普遍存在过度授权现象,违反了最小权限原则。最后,AI辅助开发工具的广泛应用扩大了攻击面,恶意指令可以通过自然语言提示而非传统的代码方式表达,增加了检测难度。 为应对这类威胁,业界专家提出了多层次的防护建议。在包管理层面,应采用禁止postinstall脚本或沙箱隔离等技术手段。在身份认证层面,需要对CI/CD服务账户和OIDC链接角色严格应用最小权限原则,强制使用具有短期有效期和细粒度权限限制的个人访问令牌。在权限管理层面,应移除创建管理员角色等高风险操作的常驻权限,建立异常IAM活动的监控告警机制。在AI工具集成上,需要建立专门的控制措施来检测和防范影子AI带来的风险。

此次事件如同一记警钟,揭示了数字经济时代"牵一发而动全身"的安全困局。当开源生态成为数字基础设施的基石,其安全性已不仅关乎技术层面,更成为关乎国家数字主权的重要议题。唯有建立跨国协作、全行业参与的防护网络,方能筑牢数字世界的安全防线。