Cybersecurity

Miasma 蠕蟲再襲 Microsoft:73 個儲存庫停用,AI 編碼代理成靶

被劫持的帳號六月五日把惡意提交推入 Azure durabletask 儲存庫,植入 .claude、.gemini 與 .cursor 設定檔,開檔即執行竊憑證 payload;GitHub 在 105 秒內停用 73 個儲存庫,官方 functions-action 工作流應聲斷裂。

Miasma 蠕蟲再襲 Microsoft:73 個儲存庫停用,AI 編碼代理成靶 — 文章封面
本頁內容6 個段落
  1. 兩波攻擊:從 PyPI 投毒到儲存庫注入
  2. 攻擊鏈:開檔即執行
  3. 105 秒掃蕩:73 個儲存庫與 functions-action
  4. 工具組外流:Miasma 走向開源
  5. 防禦清單
  6. 參考來源

2026 年 6 月 5 日,被劫持的帳號把惡意提交 5f456b8 推進 Microsoft 的 Azure/durabletask 儲存庫:提交宣稱調整 DataConverter,實際未改任何原始碼,卻植入五個瞄準 AI 編碼代理的檔案——Claude Code、Gemini CLI、Cursor 全在名單上。這是 Miasma 蠕蟲再襲 Microsoft,也是供應鏈攻擊從「安裝即執行」走向「開檔即執行」的標誌案例。

GitHub 隨後在 105 秒內停用 73 個儲存庫,官方部署 Action 也一併消失。StepSecurity 與 The Register 的報導拼出全貌。

兩波攻擊:從 PyPI 投毒到儲存庫注入

Miasma 是 TeamPCP 之後的供應鏈蠕蟲,此前已感染逾 113 個 GitHub 儲存庫。5 月 19 日第一波:被竊的發布權杖在 35 分鐘內上傳 durabletask PyPI 套件三個惡意版本,繞過 CI/CD;payload 竊取 AWS、Azure、GCP 與 90 多種工具設定中的機密,Microsoft 事後下架。

6 月 5 日第二波:同一帳號直接推送提交,日期回溯到 2020 年並加上 skip ci 標記——戰場從套件登錄移到原始碼本身。

攻擊鏈:開檔即執行

五個植入檔案全部指向同一個 4.6 MB 混淆 payload(.github/setup.js):.claude/settings.json 的 SessionStart hook 與 .gemini/settings.json,分別讓 Claude Code、Gemini CLI 一開儲存庫就執行;.cursor/rules/setup.mdc 是啟用 alwaysApply 的提示注入;.vscode/tasks.json 在資料夾開啟時自動執行,連 AI 代理都不需要。

關鍵在觸發條件:複製安全,打開才會執行——攻擊面從套件管理器移到開發者的編輯器。六月版 payload 直接內嵌、跨平台。

105 秒掃蕩:73 個儲存庫與 functions-action

GitHub 在兩波、105 秒內停用 73 個儲存庫(HTTP 403、「tos」):Azure 49、microsoft 10、Azure-Samples 13、MicrosoftDocs 1;另 16 個相似儲存庫未被動,屬定向執法。

functions-action 是部署 Azure Functions 的官方 Action,儲存庫一消失,引用 @v1 的工作流全斷,20 多位開發者回報失敗;Microsoft 先稱政策違規,十二分鐘後改口「內部管理問題」。教訓:tag 隨儲存庫蒸發,指定 commit SHA 反而失效得可預期。

工具組外流:Miasma 走向開源

6 月 8 日起,Miasma-Open-Source-Release 儲存庫經被入侵帳號現身 GitHub,完整原始碼外流。SafeDep 形容它是「完整的供應鏈攻擊工具組,讓操作者透過竊來的憑證執行各種攻擊」,覆蓋 PyPI、npm、Actions、AI 設定投毒與 SSH 橫向移動;Wiz 指出 Miasma 源自 Mini Shai-Hulud。

蠕蟲完全在 GitHub 內運作、不需自建 C2,靠 commit 搜尋頻道下載指令與外傳資料;Socket 到 6 月 9 日已追蹤 473 個受影響 artifact。

防禦清單

  • 6 月 2 日後開啟過受影響儲存庫即視為淪陷,輪替所有憑證
  • 稽核異常出現的 .claude/、.gemini/、.cursor/ 與 .vscode/tasks.json
  • 檢查網路日誌中的 check.git-service[.]com 與 t.m-kosche[.]com
  • 分支保護加 PR 審查,禁止直推 main;GitHub Action 以 commit SHA 固定
  • PyPI 改用 Trusted Publishing(OIDC);限制 CI/CD runner 對外連線

當 Agent 設定檔成了第一級攻擊面,每個會被 AI 代理讀取的檔案都得當成可執行程式碼對待。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

分享X電郵