AGENTIC COMMONSAI 產業簡報

繁中EN

主題AI 編程與開發工具出版

返回文章列表

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

本頁內容6 個段落
  1. 前後兩波:先毒化 PyPI,再直搗儲存庫
  2. 作案鏈條:資料夾一開就引爆
  3. 105 秒清場:73 個儲存庫下架,functions-action 受累
  4. 工具組流出:Miasma 原始碼公開
  5. 防護檢查表
  6. 資料來源

摘要: 被劫持帳號於 2026 年 6 月 5 日把惡意提交 5f456b8 推進 Microsoft 的 Azure/durabletask 儲存庫,植入鎖定 Claude Code、Gemini CLI、Cursor 與 VS Code 的檔案。攻擊觸發點從套件安裝改為開啟資料夾。GitHub 在 105 秒內停用四個組織下共 73 個儲存庫,也使引用官方 functions-action 的工作流斷線。

惡意提交 5f456b8 於 2026 年 6 月 5 日落進 Microsoft 的 Azure/durabletask 儲存庫,動手的是被劫持的帳號。提交訊息宣稱要調整 DataConverter,實際上原始碼一行都沒動;真正被塞進去的,是五個鎖定 AI 編碼代理的檔案——Claude Code、Gemini CLI、Cursor 全數在列。Miasma 蠕蟲再次撲向 Microsoft,這次也成了供應鏈攻擊轉型的標記:由「安裝即執行」邁入「開檔即執行」。

GitHub 的反應很快:105 秒之內,73 個儲存庫遭停用,連官方部署 Action 也跟著消失。StepSecurity 與 The Register 先後發表的報導,把整起事件拼出完整樣貌。

前後兩波:先毒化 PyPI,再直搗儲存庫

Miasma 這隻供應鏈蠕蟲接續在 TeamPCP 之後現蹤,先前遭它感染的 GitHub 儲存庫已超過 113 個。第一波落在 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 代理。

要害就在觸發條件:clone 安全,開啟才出事——攻擊面離開套件管理器,搬進開發者的編輯器。六月版的 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 日為止,受影響的 artifact 已達 473 個。

防護檢查表

  • 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 代理會讀到的檔案,防護上都得比照可執行程式碼處理。

資料來源

AGENTIC COMMONS由 PHLEGON LABS 經營
分享X電郵
支持我們

相關閱讀

  1. GitHub 安全風險評估:標示儲存庫保護狀態

    GitHub 的 code 與 secret 風險評估報告現在會區分發現項目來自受保護或未受保護的儲存庫,協助組織找出安全覆蓋缺口。

    GitHub

  2. GitHub 把 AI Scan 的成效做成指標:安全掃描的 AI 投資終於可以量化

    GitHub 在 security overview 新增 AI Scan 指標,涵蓋發現數、修復率與 autofix 採用率,協助團隊評估導入成效。

    GitHub

  3. 防禦端開始拿得到前沿模型:Anthropic 把火力對準關鍵基礎設施和開源碼

    Anthropic 推出長期計畫,以 Claude 模型、駐點工程師與免費的 OSS Scanner 支援關鍵基礎設施防禦者和開源維護者。

    Anthropic