数周内第二次:微软软件包被植入凭据窃取器

Ars Technica:AI(RSS)·2026-06-09 02:34·77天前· Dan Goodin
AI 导读

73个软件包被植入自复制窃密程序,一旦被AI智能体打开就会立即运行。这是数周内第二次发现微软相关软件包被伪装成凭据窃取器。

Ars Technica:AI(RSS)
精选
70AI 编辑部评分,满分 100

数周内第二次:微软软件包被植入凭据窃取器

2026-06-09 02:34· 77天前· Dan Goodin
AI 导读

73个软件包被植入自复制窃密程序,一旦被AI智能体打开就会立即运行。这是数周内第二次发现微软相关软件包被伪装成凭据窃取器。

推荐理由

微软官方仓库第二次被供应链攻击者劫持,这次恶意包专门在 AI 编码代理中触发凭证窃取,蠕虫还能伪造 SLSA 信任链,任何用过受感染包的开发者都应立刻排查。

正文 · AI 翻译

上周晚些时候,微软的数十个经过加密验证的开源软件包遭到入侵,被植入了高级凭证窃取代码,当开发者在 AI 编程智能体中打开这些软件包时,该代码会被触发。

多位研究人员表示,当 GitHub 上的自动化系统在该平台拦截这些软件包时,共有 73 个软件包被标记为恶意。微软旗下的 GitHub 并未指出这些软件包是恶意的——也未提醒使用 AI 智能体处理这些软件包的开发者应假定其系统已遭入侵——而是表示已禁用这些软件包,“原因是违反了 GitHub 的服务条款”。该文本随后鼓励软件包所有者联系 GitHub。

开发者:假定系统已遭入侵并据此采取行动

直到周一,微软才提出这些软件包可能已被感染的可能性。该公司在一封电子邮件中表示:“我们已暂时移除了一些仓库,以调查潜在的恶意内容。”

这起事件是近两个月内发生的第二起供应链攻击,攻击者侵入了微软的官方仓库账户。今年 5 月中旬,公司 StepSecurity 记录了微软在 PyPI 上的 durabletask Python SDK 遭入侵的事件。该软件包是一个用于构建容错工作流和编排的框架,可自动化分布式事务及其他工作流。其每月下载量达 40 万次。

被入侵的软件包执行了一个 28 KB 的有效载荷,该载荷从 AWS、Azure、GCP、Kubernetes、密码管理器以及超过 90 种开发者工具配置中窃取凭证。随后,它通过云基础设施横向传播,感染其他开发者机器。此次攻击与一个名为 TeamPCP 的威胁行为者有关,攻击者在入侵了用于发布该软件包的微软凭证后,对 durabletask 软件包进行了投毒。该技术使攻击者能够完全绕过仓库的构建流水线。

此次攻击中使用的恶意软件被追踪为 Miasma。它本质上是 TeamPCP 的 Mini Shai-Hulud 工具包的一个克隆版本,该威胁行为者最近将其开源。安全公司 Cloudsmith 表示,该恶意软件会窃取用于 SLSA(软件工件的供应链级别)来源证明的 OIDC(OpenID-Connect)令牌凭证,这是一种为软件完整性提供加密签名保证的方法。

与今年 5 月微软 durabletask 遭入侵的情况一样,上周的攻击也利用了该功能来窃取合法的微软 OIDC 令牌。该恶意软件还被用于另一起独立的供应链攻击,该攻击污染了数十个 Red Hat 软件包。

“Miasma 蠕虫的巧妙之处在于它如何遵循合法的工作流程,”Cloudsmith 表示。“它没有利用 GitHub 或 npm 中的任何软件漏洞。相反,它利用了现代工程生态系统底层信任模型。”该公司继续说道:

被攻破的开发人员凭证导致请求了一个合法的 GitHub OIDC 令牌。随后,一个带有有效 SLSA 来源的恶意构建被发布,最终导致常规扫描器将其视为常规的可信更新。通过窃取合法的维护者凭证,该蠕虫能够完全像一个经过身份验证的发布者那样行事。此外,Miasma 会为每次单独的感染生成一个唯一加密的有效载荷。这意味着传统的基于哈希的入侵指标(IOC)对于广泛检测实际上毫无用处,因为文件签名会随着每个软件包版本而变化。Red Hat 的 Andrew McNamara 在一篇专门的博客文章中解释了 SLSA 的边界在哪里存在不足。虽然之前版本的 Mini Shai-Hulud 恶意软件纯粹专注于本地秘密窃取,但 Miasma 蠕虫似乎拥有专门为 GCP 和 Azure 中的云身份而设计的高级数据收集器。它会尝试收集受感染开发机器和 CI/CD 运行器所能访问到的每一个云身份,这证明了威胁行为者意图利用对代码库的访问权限,直接进入实时云环境。

被攻陷的开发者凭证导致请求了一个合法的 GitHub OIDC token。随后,一个带有有效 SLSA 溯源信息的恶意构建版本被发布,最终使得常规扫描器将其视为一次常规的可信更新。通过窃取合法的维护者凭证,该蠕虫能够完全像一个经过身份验证的发布者那样行事。

此外,Miasma 会为每一次单独的感染生成一个唯一加密的有效载荷。这意味着,基于哈希的传统入侵指标(IOC)对于大规模检测来说实际上毫无用处,因为文件签名会随着每一个软件包版本而改变。红帽公司的 Andrew McNamara 在一篇专门的博客文章中解释了 SLSA 的局限性所在。

虽然之前版本的 Mini Shai-Hulud 恶意软件只专注于本地秘密信息的窃取,但 Miasma 蠕虫似乎拥有专门为 GCP 和 Azure 中的云身份而设计的高级数据收集器。它会试图收集受感染开发者机器和 CI/CD 运行器所能访问到的每一个云身份,这证明了威胁行为者意图利用访问权限,从代码库直接进入活跃的云环境。

感染微软软件包的 Miasma 蠕虫中的凭证窃取功能,会在开发者通过 AI 智能体(包括 Claude Code、Gemini CLI、Cursor 和 VS Code)打开该软件包时立即被触发。后续攻击很可能会发生,因为从那些在受影响的 AI 智能体中打开过该软件包的机器上成功窃取凭证,是极有可能发生的事件。

在五月攻击中被攻陷的那个微软 GitHub 账户,与上周晚些时候被使用的账户是同一个。目前尚不清楚此次双重攻陷的原因。这可能意味着微软未能完全更换该账户的凭证。也可能是某个未知的软件包在微软开发者的机器上运行,窃取了新的凭证。微软目前没有提供更多细节。

恶意软件包的自复制加密验证机制以及绕过基于哈希的检测能力,使得这类攻击难以被发现。而随后同一微软账户再次被攻破的情况表明,此类入侵很难被彻底清除。任何接触过这73个软件包(列表见此处)中任意一个的人,都应立即放下手头工作,展开彻底调查,以防存在任何被泄露的凭证被用于未来的攻击。

来源:Ars Technica:AI(RSS)· arstechnica.com