105 秒内 73 个 Repo:将 AI 编程助手武器化针对微软的 Miasma 蠕虫

105 秒内 73 个 Repo:将 AI 编程助手武器化针对微软的 Miasma 蠕虫

一种自我传播的供应链蠕虫通过劫持 Claude Code、Cursor、Gemini CLI 和 VS Code,将打开仓库变成了凭据窃取行为 —

微软的 Repos 消失的那一天

在 2026 年 6 月 5 日的几分钟里,微软一些被克隆最多的开源项目凭空消失了。分布在该公司四个 GitHub 组织(Azure、Azure-Samples、Microsoft 和 MicrosoftDocs)中的 73 个仓库在短短 105 秒窗口内被禁用。那不是微软在清理门户,而是 GitHub 的自动化执法机制在竞相遏制一种名为 Miasma 的自我传播蠕虫,它悄然将 打开仓库 的行为变成了 拱手让出凭据.

这在当下至关重要,因为该攻击并不依赖于你运行构建、安装依赖项或点击恶意链接。它将开发者越来越信任来读取代码的工具武器化——只因该工具是 他们读取:AI 编程助手。如果你克隆了受影响的 repo 并在 Claude Code、Cursor、Gemini CLI 或 VS Code 中打开它,恶意软件在你阅读单行代码之前就可能触发。

究竟发生了什么

入口点是一个被推送到微软 Azure/durabletask 仓库的恶意提交。它没有添加明显危险的脚本。相反,它植入了 AI-IDE 配置文件 ——即现代 AI 辅助编辑器为了设置其环境而自动读取的那种“打开时运行”的项目设置。开发者在 AI 编程工具中打开被毒化仓库的那一刻,这些配置文件就会执行凭据收集载荷。

从那时起,Miasma 的行为就像蠕虫一样,而不是一次性感染。它从受害机器上收集云平台和开发者工具的凭据,然后利用这些盗来的凭据以受害者的身份进行身份验证,并将自身推送到 更多 仓库中。对 GitHub 和包注册表而言,每一次新的推送看起来都像是来自合法且已验证身份的维护者的例行更新。这就是整个招数。

为什么这如此难以防范

供应链安全建立在一个简单的假设之上:如果一个包用有效密钥签名并由经过身份验证的维护者发布,它就是安全的。Miasma(被评估为自称 TeamPCP 的组织在 2026 年 5 月中旬公开发布的“Mini Shai-Hulud”蠕虫变体)直接攻击了这一假设。它同时损害了密钥 维护者,然后完全像合法维护者那样进行发布。从注册表角度看,没有任何异常需要标记。恶意发布版本与普通版本毫无二致。

这场活动也没有仅仅局限于 GitHub。它重新入侵了 PyPI 上的 durabletask 包,在 Linux 上交付信息窃取程序。一个代号为 Hades的关联毒株利用 Python 的 .pth 启动钩子,在 每次 Python 解释器启动时 启动一个由 Bun 驱动的 JavaScript 凭据窃取程序——受害者甚至根本无需导入该恶意包。仅仅将其保存在系统上就足够了。

AI 助手的视角才是真正的核心故事

许多蠕虫都会窃取凭据。让 Miasma 成为 2026 年风向标的原因在于 它的触发方式。AI 编程助手旨在提供帮助和具备自主性:它们会读取项目文件、配置环境并运行设置步骤,因此你无需亲自操心。这种便利性恰恰就是攻击面。写着“运行此项以准备工作区”的配置文件会被工具信任,进而也被你信任。

换句话说,蠕虫不需要愚弄人类去运行代码。它只需要愚弄人类已经指示代表其行动的 助手 即可。随着我们将越来越多的工作流程交给自主工具,“我只是克隆了它,并没有运行任何东西”不再是一句安全的话。

微软和 GitHub 如何应对

GitHub 的自动化防御系统在那场现在恶名昭彰的 105 秒扫荡中禁用了所有 73 个受影响的仓库——速度足够快以限制传播,破坏性也足够大以打断任何在工作流程中依赖这些项目的人。在接下来的几天里,随着调查的继续,微软和 GitHub 恢复了部分仓库,同时保持其他仓库离线。Miasma 源代码本身曾短暂出现在名为“Miasma-Open-Source-Release”的 GitHub 仓库中,这些仓库是通过受损的开发者账户推送的——这提醒人们,一旦蠕虫散布开来,其作者不再是唯一能够传播它的人。

谁面临风险

如果以下任何一项属实,你都应该认为这与你相关:

你在使用会自动运行项目配置的 AI 编程助手。 Claude Code、Cursor、Gemini CLI 以及带有 agentic 扩展的 VS Code 都会读取仓库级别的设置;这就是触发路径。

你在 2026 年 6 月初克隆或打开了微软 Azure/durabletask(或相关)仓库。 特别是在 AI IDE 中,尤其是在保存有云凭据的机器上。

你在没有锁定版本的情况下从 PyPI 拉取类似于 durabletask 的 Python 包。 再次受感染的发布版本可能会通过例行更新影响到你。

如果以上都不适用,你的直接风险较低——但这种模式才是重点,而且它将被再次利用。

步骤 1:查明你是否受暴露

重建你的机器和工具在 2026 年 6 月初的实际操作。

# Did you clone any of the affected Microsoft repos recently?
grep -rEl "durabletask|Azure-Samples" ~/ --include="*.git/config" 2>/dev/null

# Look for suspicious AI-IDE / editor config that runs on open
find . -maxdepth 3 \( -name "*.pth" -o -name ".cursorrules" -o -name "*.code-workspace" \) 2>/dev/null

# List recently installed Python packages and check for durabletask
pip list 2>/dev/null | grep -i durabletask

任何非你创建的 Python .pth 文件,或调用 shell 命令的 AI-IDE 配置,都值得仔细审查。

步骤 2:假设凭据已被销毁 — 轮换与审计

如果某台机器在 AI 工具中打开了受影响的仓库,请将其持有的每个凭据都视为已泄露。

  • 轮换 在该机器上使用的云密钥(Azure、AWS、GCP)、GitHub/PAT 令牌、npm/PyPI 令牌以及 SSH 密钥。
  • 审计 你的 GitHub 组织中是否存在异常提交、新的协作者或非你发起的推送——Miasma 是 通过 推送进行传播的。
  • 审查 你的 npm 和 PyPI 账户发行的包,检查是否存在非你发布的版本。

轮换凭据枯燥乏味,但只有当被盗凭据失效时,通过被盗凭据自我传播的蠕虫才能被阻止。

步骤 3:强化你的 AI 助手工作流程

解决办法不是放弃 AI 编程工具——而是停止让它们自动执行不可信的项目文件。

  • 在你的 AI IDE 中禁用仓库级配置的自动运行 ;在运行任何设置命令之前均需显式批准。
  • 在沙盒中打开不熟悉的仓库 (容器或即用即抛的虚拟机),且不附带任何真实凭据。
  • 将依赖项锁定 至已知良好的版本并校验和验证;切勿让 latest 拉取再次受感染的发布版本。
  • 切勿将机密信息留存于开发者机器 ——使用短期、受限作用域的令牌和密钥管理器,使被盗凭据价值低下且可快速撤销。

结论

Miasma 事件本质上并不是一个关于微软的故事。这是一个关于软件开发中信任的新形态的故事。我们赋予了自主助手读取、配置和运行我们项目的权限——而能够植入一个配置文件的攻击者就可以借用这种权限。GitHub 105 秒的下架是一次令人印象深刻的遏制行动,但教训在于任何单一供应商的上游:随着你的工具代表你做更多事情, 克隆不再是无害的。假设仓库文件能够自行操作,避免在打开未知代码的机器上保存凭据,并要求你的 AI 助手在运行前提出询问。

优点

  • 快速、自动化的遏制。 GitHub 在 105 秒内禁用 73 个仓库,表明平台级防御的处理速度可以超越任何人工应急响应。
  • 清晰、具教育意义的模式。 该攻击清晰地暴露了自动执行 AI-IDE 配置的风险——这是一个可修复且已被充分理解的弱点。
  • 公开分析。 多家安全公司公开剖析了该事件,为防御者提供了具体的追踪指标。

缺点

  • 信任模型本身成为了攻击目标。 当密钥和维护者都受损时,“已签名并经过身份验证”不再意味着安全。
  • 具备自我传播能力。 通过被盗凭据传播的蠕虫其扩散速度会超越人工清理,并延伸到最初受波及仓库之外的更远处。
  • 隐匿于便利之中。 使 AI 编程助手发挥作用的绝佳特性——自动读取和运行项目设置——恰恰是被武器化的部分。

警告

不要假设“我只是克隆了它”就意味着你是安全的——在使用 agentic AI 工具时,仅打开一个仓库就足以触发执行。同样,不要仅因仓库属于受信任的组织就认为它是干净的;微软自己的 repo 在这里就是攻击媒介。如果你在保存有真实凭据的机器上,在 AI IDE 中打开了任何受影响的项目,请立即轮换这些凭据,而不是等待受损确认——自我传播的蠕虫是不会等待的。

常见问题

我是否必须运行构建才会受此影响? 否——这正是其引人注目之处。当仓库被打开时,AI 编程工具会自动读取仓库配置文件并对其采取行动,从而触发有效载荷。

哪些工具属于触发路径? Claude Code、Cursor、Gemini CLI 以及 VS Code(具有 agentic 行为)均被点名——任何能自动执行仓库级设置的助手都在影响范围内。

现在使用 durabletask 安全吗? 仅使用已锁定、已验证的版本并查看当前的安全公告。在攻击活动期间,该包在 PyPI 上再次受感染,因此在确认安全版本之前,请避免未锁定版本/latest 的安装。

什么是“Shai-Hulud”,为什么提及它? Miasma 被评估为 2026 年 5 月中旬公开发布的“Mini Shai-Hulud”蠕虫的变体。Shai-Hulud 风格的攻击劫持合法维护者的密钥,并发布注册表无法与正常更新区分开来的恶意更新。

标签

security, supplychain, ai, worm, github

Free field guide

Kubernetes Security Checklist

Harden cluster access, workload identity, pod security, network boundaries, software supply chain, secrets, and operational monitoring.