這是一個非常典型的供應鏈攻擊案例,對於剛接觸 AI 部署或開源工具的工程師來說,是一個極佳的警示。這次事件的核心在於攻擊者利用了開發者對知名品牌(OpenAI)的信任,以及對 AI 模型託管平台(Hugging Face)的盲目信任,將惡意軟體偽裝成合法的 AI 模型權重。
首先我們得理解什麼是供應鏈攻擊(Supply Chain Attack)。在軟體開發中,我們很少從零開始寫所有東西,而是依賴第三方庫、模型或框架。如果攻擊者能將惡意代碼植入這些上游資源中,那麼所有下載並使用該資源的開發者都會在不知不覺中被感染。這次的攻擊目標就是 Hugging Face,這是一個類似 GitHub 但專門存放 AI 模型與數據集的平台。
攻擊者的作法是利用一種稱為 Typosquatting(域名搶註/拼寫錯誤攻擊)的手段。他們建立了一個名稱與 OpenAI 官方發布的 Privacy Filter 模型極其相似的儲存庫。Privacy Filter 是 OpenAI 用於偵測並遮蔽文本中個人識別資訊(PII,即姓名、電話等敏感資料)的模型。攻擊者不僅複製了官方的描述文字,還透過人工刷單的方式,在短短 18 小時內將下載量推高至 24.4 萬次,並衝上趨勢榜第一名,營造出這是一個受歡迎且可信工具的假象。
對於工程師來說,最危險的點在於執行安裝腳本。該惡意儲存庫要求使用者執行 start.bat(Windows)或 loader.py(Linux/macOS)來配置環境。一旦執行,loader.py 就會啟動一連串的攻擊鏈。
第一階段是利用 Dead Drop Resolver(死信箱解析器)。攻擊者將惡意指令隱藏在 JSON Keeper 這種公開的 JSON 貼上服務中。這樣做的好處是,攻擊者可以隨時在後端更改指令,而不需要修改已經發布在 Hugging Face 上的程式碼,從而繞過平台的靜態掃描。
第二階段是權限提升與防禦繞過。在 Windows 環境下,惡意腳本會觸發 UAC(使用者帳戶控制)請求管理員權限,並嘗試將自己加入 Microsoft Defender 的排除名單,讓防毒軟體對其視而不見。同時,它會嘗試禁用 AMSI(反惡意軟體掃描介面)和 ETW(Windows 事件追蹤),這兩者是 Windows 用來監控可疑行為的核心機制。
最後階段是執行資訊竊取程式(Infostealer)。這個程式會掃描系統,竊取 Discord 帳號、加密貨幣錢包、瀏覽器儲存的密碼以及 FileZilla 等工具的設定檔,甚至直接截圖。值得注意的是,它使用排程工作(Scheduled Task)來獲取 SYSTEM 最高權限執行,但在執行完畢後會立即刪除該工作,不留持久化痕跡,這讓事後溯源變得更加困難。
除了 Hugging Face,這次攻擊還與 npm 平台上的惡意套件相關聯,最終部署的是一種名為 ValleyRAT 的遠端存取木馬(Remote Access Trojan, RAT)。這類工具允許攻擊者完全控制受害者的電腦。研究指出,這類攻擊模式與一個名為 Silver Fox 的駭客組織有關,顯示出針對開源 AI 生態系的系統性威脅。
這次事件給我們三個重要的實務啟示。第一,不要僅憑下載量或趨勢榜單來判斷開源項目的安全性。第二,在執行任何來自第三方儲存庫的 .bat 或 .py 安裝腳本前,必須先審閱代碼,特別是那些涉及網路請求或權限請求的指令。第三,盡量在隔離的容器或虛擬機(VM)中測試新模型,避免直接在存有重要金鑰或敏感資料的開發機上執行未經驗證的腳本。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。