Miasma蠕蟲透過GitHub倉庫攻擊AI編碼代理
一種名為Miasma的新型蠕蟲利用AI編碼代理的配置檔案,透過GitHub倉庫傳播。它劫持了Claude Code、Gemini CLI、Cursor和VS Code等工具的自動執行功能,在執行惡意負載前竊取雲憑證並自我複製。該攻擊已影響113個以上倉庫,包括Azure示例和主流開源專案。
一種名為Miasma的新型蠕蟲正在利用AI編碼代理的自動執行功能,透過GitHub倉庫進行傳播。安全研究團隊SafeDep於2026年6月5日披露了這一威脅,指出攻擊者透過修改開發工具配置檔案,在開發者開啟或使用受感染倉庫時執行惡意負載。
該蠕蟲的核心機制是將多個配置檔案作為觸發器,指向同一個負載指令碼.github/setup.js。例如,在Claude Code和Gemini CLI中,攻擊者利用SessionStart鉤子配置,在代理會話啟動時自動執行命令;在Cursor中,透過一個始終應用的規則(alwaysApply: true)引導AI代理執行惡意檔案;在VS Code中,則配置了一個在資料夾開啟時自動執行的任務。此外,package.json中的測試指令碼也被篡改,使得任何執行測試的開發者或CI系統都會觸發感染。
負載指令碼本身經過多層混淆,最終解碼為一個Bun指令碼。該指令碼會檢查主機是否已安裝Bun,如果沒有,則從GitHub官方映象下載一個固定版本。隨後,它會在一個隨機臨時檔案中寫入惡意程式碼並執行。這種設計避免了使用宿主機的Node.js環境,增加了檢測難度。
一旦執行,Miasma的負載會掃描多種雲服務憑證,包括AWS、Azure、GCP、Vault、Kubernetes、npm和GitHub secrets,並將竊取的資料傳送到攻擊者建立的公共GitHub倉庫。更重要的是,它會利用竊取的GitHub令牌訪問其他倉庫,並自動提交相同的惡意配置檔案,從而實現自我複製和傳播。
攻擊的初始目標是一組屬於使用者icflorescu的5個倉庫,包括mantine-datatable(擁有1225顆星)等,所有惡意提交在49秒內完成,表明過程完全自動化。進一步調查發現,GitHub上已有超過113個倉庫受到類似感染,涉及個人專案、企業示例(如Azure-Samples/llm-fine-tuning)和開源專案(如metersphere/helm-chart)。
SafeDep團隊提醒開發者,克隆倉庫本身是安全的,但開啟或使用AI編碼代理在受感染的專案中工作時會觸發負載。建議開發者檢查專案中的.claude/settings.json、.cursor/rules/、.vscode/tasks.json等檔案,並警惕任何未知的自動執行指令碼。同時,應定期輪換GitHub令牌,並限制其寫入許可權。