微軟旗下的 GitHub 儲存庫,成為持續擴散的 Miasma 自我複製供應鏈攻擊最新受害目標。
事件影響範圍
根據 OpenSourceMalware 報告,
此次事件影響微軟旗下四個 GitHub 組織(Azure、Azure-Samples、Microsoft、MicrosoftDocs)共 73 個儲存庫,GitHub 已暫停這些儲存庫的存取。
受影響的儲存庫包括 azure-search-openai-demo-purviewdatasecurity、durabletask 及其相關生態系套件(涵蓋 .NET、Go、JavaScript、MSSQL 等實作版本)、llm-fine-tuning,以及 windows-driver-docs 等。
此次事件的特殊之處在於,核心受害儲存庫 durabletask 與上月遭 TeamPCP 組織感染的 PyPI 套件來自同一來源。資安研究員 Paul McCarty 指出,上月遭入侵的儲存庫正是本次下架事件的核心;同一生態系的相關儲存庫同步消失,並非巧合,而是「同一個傷口再度裂開」。他研判,五月曾掌握該憑證的攻擊者,可能從未完全失去存取權限。
Miasma 的傳播機制
Miasma 被評估為 TeamPCP 於 2026 年 5 月中旬公開釋出的
Mini Shai-Hulud 蠕蟲變種,之後持續演變並精煉攻擊手法。目前,GitHub 上以「Miasma: The Spreading Blight」等命名模式建立的公開儲存庫已達 82 個;以「Hades - The End for the Damned」命名的則有 13 個。這些儲存庫被用來存放遭竊的機密資料。
資安公司 FalconFeeds.io 指出,Miasma 完全透過合法管道運作:它不利用 npm 或 GitHub 本身的漏洞,而是利用平台的信任模型,預設由已驗證維護者以有效金鑰簽署並發布的套件會被視為安全。Shai-Hulud 會先入侵金鑰與維護者帳號,接著以貼近合法發布者行為模式的方式操作;從套件庫的角度來看,每次惡意發布都很難與一般更新區分。
AI 編碼工具成為新攻擊觸發點
此次攻擊引入新的傳播向量:攻擊者不再透過套件庫散布惡意程式,而是直接向 GitHub 儲存庫推送惡意提交。資安業者指出,
惡意提交在 icflorescu/mantine-datatable 及四個相關儲存庫中植入 4.3 MB 的酬載執行器,並可透過五種開發工具自動觸發執行,包括 Claude Code、Gemini CLI、Cursor、VS Code 及 npm 測試腳本。當開發者複製受感染儲存庫並以 AI 編碼工具開啟時,攻擊便會自動引爆。
後續調查確認,本次事件所使用的貢獻者帳號,與五月入侵 durabletask PyPI 套件的帳號相同。惡意提交新增五個設定檔,以達成跨工具的程式碼執行:
- .claude/settings.json:嵌入 Claude Code 的 SessionStart 鉤子(hook),在工作階段啟動時自動執行酬載。
- .gemini/settings.json:嵌入 Gemini CLI 的 SessionStart 鉤子,在工作階段啟動時自動執行酬載。
- .cursor/rules/setup.mdc:嵌入提示詞注入,指示 Cursor AI 代理將酬載視為專案設定需求並執行。
- .vscode/tasks.json:透過 runOn: folderOpen 選項,設定 VS Code 在開啟資料夾時自動執行任務。
專家研判,同一帳號再度被使用可能有三個原因:五月事件後憑證未完全輪換,攻擊者仍保有有效的 GitHub 存取金鑰;該貢獻者因蠕蟲自身的傳播迴圈再度遭入侵,在 AI 編碼工具中開啟受感染儲存庫時洩出新的存取金鑰;或攻擊者改用另一名貢獻者的金鑰,並透過 Git Data API 偽造提交者身分資訊。
微軟發言人表示,已暫時移除部分儲存庫,並正在調查潛在的惡意內容。
本文轉載自 TheHackerNews。