Miasma Worm
持续进行的Miasma自复制供应链攻击活动已从软件包注册表扩展到GitHub代码库,并直接影响到GitHub代码库。根据OpenSourceMalware的调查结果,此次事件影响了微软四个GitHub组织(Azure、Azure-Samples、Microsoft和MicrosoftDocs)的73个代码库。因此,GitHub限制了对受影响代码库的访问,理由是其违反了服务条款。
尝试访问受影响项目(包括 Azure Functions Host 存储库)的用户会看到一条通知,该通知表明 GitHub 工作人员已禁用访问权限,存储库所有者必须联系 GitHub 支持以获取更多信息。
受此次活动影响的存储库包括:
azure-search-openai-demo-purviewdatasecurity,
Connectors-NET-LSP,
Connectors-NET-SDK,
耐用任务,
durabletask-dotnet,
durabletask-go,
durabletask-js,
持久任务-mssql
函数容器操作,
自制函数,
llm微调,
Windows驱动程序文档
目录
持久任务生态系统遭受第二次损害
最新活动中最引人注目的一点是,“durabletask”生态系统似乎再次遭到入侵。durabletask PyPI软件包此前曾于2026年5月被TeamPCP感染,并被用于传播针对Linux系统的信息窃取恶意软件。
一个月后,影响范围似乎远超预期。不仅主要的 Azure/durabletask 代码库消失了,微软生态系统中相关的代码库也受到了影响。受影响的项目包括 .NET、Go、Java、JavaScript、MSSQL、Netherite、protobuf 以及 Durable Functions 监控组件的实现。
安全研究人员认为,最初的安全漏洞与当前的系统关闭事件之间的关联不太可能是偶然的。这种重复出现表明,在之前的事件中泄露的凭证可能从未得到完全保护,从而使攻击者能够重新获得或维持访问权限。
瘴气由迷你沙伊胡鲁德蠕虫进化而来
研究人员评估认为,Miasma 是 TeamPCP 于 2026 年 5 月中旬公开发布的 Mini Shai-Hulud 蠕虫的一个变种。自那时以来,该恶意软件不断演变,改进其传播技术,同时感染更多软件包和存储库。
该活动在创建公开泄露秘密的存储库时使用了多个存储库描述,包括“瘴气:蔓延的灾祸”、“瘴气:蔓延的灾祸”、“瘴气 - 蔓延的灾祸”和“冥界 - 诅咒者的末日”。目前的观察显示,有 13 个存储库使用了“冥界”描述,82 个存储库使用了与瘴气相关的其他命名变体。
直接感染存储库预示着一种新的攻击策略
Miasma 的策略发生了显著变化,它完全绕过了 npm 注册表。攻击者不再通过传统的分发渠道污染软件包,而是直接修改了 GitHub 仓库“icflorescu/mantine-datatable”以及四个相关项目:mantine-contextmenu、next-server-actions-parallel、mantine-datatable-v6 和 mantine-contextmenu-v6。
此次恶意提交并未引入任何额外的依赖项,这使得检测更加困难。攻击者嵌入了一个 4.3 MB 的有效载荷运行器,该运行器被配置为通过五种常用的开发者工具自动执行:Claude Code、Gemini CLI、Cursor、Visual Studio Code 和 npm 测试脚本。当开发者克隆受影响的仓库并在 AI 辅助的编码环境中打开它时,感染就会被激活。研究人员发现,该有效载荷与之前用于注册表攻击的 Bun 加载器相同,但经过调整,可以长期驻留在源代码仓库中。
利用信任而非漏洞
Miasma攻击行动凸显了现代开源软件分发所依赖的信任模型的根本缺陷。与许多依赖软件漏洞的供应链攻击不同,此次攻击的成功在于滥用合法的开发和发布机制。
它能够通过下游用户递归传播,并不断攻击新的目标,使其成为迄今为止发现的最严重、最持久的软件供应链威胁之一。该攻击活动的有效性源于其在整个生态系统中呈指数级传播的能力,将受感染的用户转化为新的攻击媒介。
Shai-Hulud 的底层攻击方法并非针对 npm 或 GitHub 等平台的漏洞。相反,它破坏了软件由经过身份验证的维护者发布并使用有效凭证签名这一核心假设。攻击者通过攻破维护者账户及其关联的签名密钥,可以执行看似完全合法的恶意发布活动。
从软件包注册表和存储库平台的角度来看,这些恶意版本发布几乎与常规软件更新无法区分。这种完全在可信工作流程中运行的能力解释了为什么许多传统的安全控制措施难以检测和阻止此类攻击活动。