瘴气供应链攻击
一种名为“Miasma”的新型软件供应链攻击活动已经入侵了多个@redhat-cloud-services npm 包。该攻击旨在窃取开发者环境中的凭证和敏感信息,同时部署一种能够自我传播的蠕虫病毒,从而在软件开发生态系统中进一步扩散。
该攻击活动与之前与Mini Shai-Hulud相关的策略非常相似,利用安装时执行、凭证窃取、CI/CD 破坏、加密数据外泄以及实现下游传播的机制。
目录
归属仍不确定
针对Miasma病毒的攻击者尚未被最终确定。由于TeamPCP(又名Replicating Marauder、TGR-CRI-1135和UNC6780)此前已将与Shai-Hulud蠕虫相关的攻击工具作为开源项目发布,因此溯源工作变得更加复杂。这一举措使得其他网络犯罪团伙能够复制类似的技术,从而大大增加了确定攻击者身份的难度。
被入侵的 npm 包
已确定以下 npm 包受到影响:
@redhat-cloud-services/vulnerabilities-client
@redhat-cloud-services/tsc-transform-imports
@redhat-cloud-services/topological-inventory-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/rule-components
@redhat-cloud-services/remediations-client
@redhat-cloud-services/rbac-client
通过混淆的安装逻辑窃取凭证
安全研究人员发现,这些恶意软件包包含一个混淆的预安装钩子,该钩子旨在软件包安装过程中自动执行。该恶意软件的目标是广泛的敏感资产,包括 GitHub Actions 密钥、npm 身份验证令牌、云凭证、Kubernetes 和 HashiCorp Vault 密钥、SSH 密钥、Git 凭证以及存储在受感染系统上的其他机密文件。
正如之前的 Mini Shai-Hulud 攻击活动中所观察到的,该恶意软件集成了加密的数据泄露程序。窃取的信息被传输到 api.anthropic.com:443/v1/api,而 GitHub 则作为备用的数据泄露渠道。这种双重目的策略表明,攻击者不仅试图窃取凭证,还试图将其武器化,以进一步破坏软件供应链。
加密数据包通过 GitHub API 提交,提交消息可能包含以下字符串:
“如果您使此令牌失效,它将摧毁所有者的计算机:”
隐身技术和传播机制
该恶意软件包含多种旨在最大限度提高持久性、逃避检测和扩大访问范围的措施。一个显著的特点是刻意避免在俄语系统上执行,这种行为此前曾在 GlassWorm 供应链攻击活动中出现过。
对于 npm 环境,恶意代码会与 OIDC 令牌交换和 whoami 端点交互,将软件归档文件重新打包成更新的 tar 包,并使用 Sigstore 对修改后的工件进行签名。窃取的凭据随后会被泄露到攻击者控制的公共 GitHub 仓库中,这些仓库的描述为“瘴气:蔓延的灾祸”。
调查人员发现最早包含此描述的提交日期为 2026 年 5 月 29 日,这表明要么是活跃运营的开始,要么是该日期前后的初始测试阶段。
在 GitHub 环境中,该恶意软件会枚举可被已入侵令牌访问的仓库,通过 GraphQL 查询分析工作流定义,并利用 createCommitOnBranch 突变注入恶意工作流。这种方法使得恶意更改看起来像是经过验证和加密签名的提交。
高级持久性和权限提升功能
分析显示,该恶意软件还内置了其他几项功能:
试图通过启动容器来提升权限,这些容器会将主机的 /etc/sudoers.d 目录绑定挂载,并授予 CI 运行程序免密码 sudo 访问权限。
在发起恶意活动之前,检测包括 CrowdStrike、SentinelOne、Carbon Black 和 StepSecurity Harden-Runner 在内的端点安全解决方案。
持久化机制将 SessionStart 钩子注入 Anthropic Claude 代码,并为 Microsoft Visual Studio Code 项目创建配置了 'runOn': 'folderOpen' 的恶意 tasks.json 文件,以确保在未来的开发会话中执行。
更加关注云身份泄露
Miasma变种病毒的一项重大演变是其对云端身份信息收集的关注度显著提高。针对谷歌云平台(GCP)和微软Azure环境的新模块会收集所有可从受感染机器访问的云端身份信息。
以往的变种主要集中于从云环境中提取密钥。而新增的身份信息收集器则表明,攻击者的战略重心已转向获取直接云访问权限,并利用云基础设施中的特权身份。
更糟糕的是,每次感染都会生成一个独一无二的加密有效载荷。这种定制化处理会严重阻碍基于特征码的检测、恶意软件跟踪以及跨事件的版本关联。
初步妥协和供应链渗透
现有证据表明,此次攻击活动源于一名红帽员工的GitHub账户被盗用。调查人员认为,该账户是最初的感染点,攻击者利用该账户将恶意代码注入到受影响的软件包中。
据报道,被入侵的帐户将恶意孤立提交推送到两个 Red Hat Insights 存储库中,绕过了既定的代码审查程序,并将恶意有效载荷引入了软件供应链。
事件响应和补救指南
安装了受影响软件包版本的组织应立即隔离受影响的系统,移除恶意软件,轮换所有可能暴露的凭据,调查 GitHub 和 npm 活动是否存在未经授权的访问迹象,并检查环境中是否存在持久化机制。尤其应关注以下方面的未经授权修改:
~/.claude/settings.json、.vscode/tasks.json、.github/workflows/codeql.yml 和 .github/setup.js。
开发环境和云环境中也应强制执行严格的访问控制。
由于该恶意软件在开发者工具中建立了后台执行能力和持久性,因此仅仅卸载受影响的 npm 包或删除 node_modules 目录不应被视为足够的补救措施。
对于 CI/CD 环境,应立即暂停受影响的工作流执行。组织应使暴露期间创建的构建工件失效,并彻底检查恶意软件引入环境后是否生成了版本、容器镜像、npm 包、部署工件或其他软件组件。