11:25:23 阅读量:184

警惕供应链投毒:170余个npm包沦为恶意载体,CI/CD流水线成重灾区

#供应链攻击 #npm投毒 #CI/CD安全 #凭据窃取 #Shai-Hulud

近期,网络安全领域再次敲响警钟。研究人员发现,超过170个npm包及部分PyPI库遭受攻击者劫持,这些包每周下载量高达2亿次,成为大规模供应链攻击的温床。此次事件的核心在于攻击者通过复杂的混淆手段与CI/CD流水线漏洞,实现了敏感凭据的窃取与恶意代码的自动化传播。

攻击链分析:从CI/CD流水线到全域渗透

从我们的应急响应经验来看,CI/CD流水线往往是企业安全防御中的“隐形软肋”。本次攻击正是利用了GitHub Actions工作流配置不当的漏洞,允许不可信的fork代码在受信任的环境中执行。

攻击者通过预安装脚本(preinstall script)在安装阶段静默部署加载器,随后下载混淆的恶意载体。一旦进入CI/CD环境,恶意软件会直接从内存中提取GitHub Actions Token和OIDC身份数据,进而获取npm发布权限,实现恶意包的自动发布与扩散。这种“以包养包”的递归式攻击,使得恶意代码能够迅速蔓延至整个开发生态系统。

技术手法解析:深度混淆与“死亡开关”

这一环节是很多企业容易忽视的:攻击者不仅进行简单的数据窃取,还引入了类似“蠕虫”的行为特征。

在技术实现上,该攻击展现了极高的复杂性:

  1. 多层混淆:利用PBKDF2-SHA256加密与AES-256运行时解密,极大地增加了静态分析的难度。
  2. 全维度窃取:目标覆盖极广,包括AWS凭据、Kubernetes服务账户令牌、SSH密钥、HashiCorp Vault令牌,甚至本地的密码管理器数据。
  3. 死亡开关(Dead-man Switch):恶意软件会监测被窃取的令牌状态,一旦检测到令牌被撤销,可能会触发破坏性操作,如擦除系统数据。这种机制使得应急响应过程变得极度敏感,要求防御者必须先清理持久化机制,才能进行凭据撤销。

关联分析:Shai-Hulud的回归

研究表明,此次攻击活动与此前曾出现的“Shai-Hulud”恶意软件高度相关。该组织展示了极强的自动化攻击能力,其PyPI变种通过导入时触发下载器(Import-time Downloader)的方式,实现了与npm端类似的凭据窃取与系统破坏功能。

安全建议与Solar经验

针对此类大规模供应链攻击,Solar应急响应团队建议广大企业采取以下防护措施:

  1. 强化CI/CD安全配置:严格限制GitHub Actions等流水线中fork代码的执行权限,确保流水线环境的隔离性与最小权限原则。
  2. 凭据卫生管理:不要将生产环境的敏感凭据直接存储在代码库或环境变量中。建议使用动态密钥管理方案,并定期轮换关键凭据。
  3. 实施运行时监控:不仅要关注代码仓库的静态安全,还要监控开发与生产环境中的异常行为,特别是针对内存读取、非预期网络连接及敏感文件访问的监控。
  4. 应急响应预案:在处理类似威胁时,必须首先排查并清除恶意持久化服务,避免因直接撤销凭据导致攻击者触发破坏性逻辑。

类似攻击近年来明显增加,企业必须从单纯的“边界防御”转向“全生命周期的开发安全治理”。

如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。

全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com