Pluto/資安研究:Hugging Face「Load/Mine」惡意模型活動回潮——三十一個倉庫累計逾三萬二千次下載,借 trust_remote_code 於載入前植入 GPU 挖礦與後門

Key takeaway

資安研究機構 Pluto Security 於二零二六年十月二十九日發布「Load/Mine」調查,指 Hugging Face 模型庫出現兩波惡意倉庫活動:合共三十一個惡意倉庫分屬七個帳號,連同相關模型累計逾三萬二千次下載;攻擊者並非污染權重或利用 pickle,而是借 trust_remote_code 在模型載入前執行發布者 Python,於自託管 GPU 推理主機植入加密貨幣挖礦程式與後門,下架後數日即換帳號回潮。本文核對自 Pluto 官方研究與 BleepingComputer 報道,來源真實性已驗證。

Pluto/資安研究:Hugging Face「Load/Mine」惡意模型活動回潮——三十一個倉庫累計逾三萬二千次下載,借 trust_remote_code 於載入前植入 GPU 挖礦與後門

資安研究機構 Pluto Security 於二零二六年十月二十九日發布「Load/Mine」調查,指 Hugging Face 模型庫出現兩波惡意倉庫活動:合共三十一個惡意倉庫分屬七個帳號,連同相關模型累計逾三萬二千次下載;攻擊者並非污染權重或利用 pickle,而是借 trust_remote_code 在模型載入前執行發布者 Python,於自託管 GPU 推理主機植入加密貨幣挖礦程式與後門,下架後數日即換帳號回潮。本文核對自 Pluto 官方研究與 BleepingComputer 報道,來源真實性已驗證。

Pluto/資安研究:Hugging Face「Load/Mine」惡意模型活動回潮——三十一個倉庫累計逾三萬二千次下載,借 trust_remote_code 於載入前植入 GPU 挖礦與後門

開源模型庫已成企業與研究團隊拉取測試檢查點的日常入口;一旦載入流程允許執行倉庫內自帶程式碼,惡意「模型」便可在權重尚未就緒前佔領 GPU 主機。Pluto Research 以「Load/Mine」為題披露一場以偽裝小型 Qwen2 檢查點為誘餌的挖礦與後門活動,並記錄下架後迅速換帳號再生的過程。來源真實性已驗證。

一、核心事件與研究發現

規模:三十一個倉庫、逾三萬二千次下載

Pluto 追蹤到七個 Hugging Face 帳號下共三十一個惡意倉庫,分兩波自九月起發布。第一波十二個倉庫於舉報後遭移除,移除前記錄約七百二十八次下載;第二波十九個倉庫下載逾二萬九千零九十次,舉報後八日仍可公開取得。連同十三個技術手法相近的關聯模型,整體下載合計約三萬二千三百七十六次。報告明確指出:下載次數不等於已確認感染或獨立受害者。

旗艦倉庫 MENXIANGYU/qwen2-tiny 在披露當下記錄約七千三百五十四次下載,至十月二十八日升至二萬八千四百一十二次,佔第二波下載絕大部分。該倉庫的 model.safetensors 僅約四十二位元組、不含真實張量,實際載荷位於 modeling_evil2.py,並由 config.json 的 auto_map 指向 EvilModel。

目標環境:自託管推理與共享 GPU

載荷針對運行 Xinference、GPUStack 等自託管推理服務的 GPU 主機,亦波及租用 GPU、共享研究筆記本與會自動拉取小型測試模型的持續整合工作。Pluto 在分析第一波收款錢包時,曾目擊九台名稱似共享筆記本叢集的工作節點於約九十秒內同時加入礦池,約六分鐘後停止提交算力,符合管理員緊急終止工作的特徵。

金錢痕跡與營運者輪廓

第一波 Pearl(PRL)收款地址鏈上記錄約二千二百七十六 PRL(報告約合五千美元)入帳,並仍有工作節點連線礦池。Pluto 研判營運者為以營利為主、使用簡體中文註解的中文語境行為者:指揮與基礎設施見於阿里雲、ModelScope 與 hf-mirror 鏡像、活動時段對應中國夜間。第二波部分建置改以反向 shell 取代硬編碼 SSH 金鑰,並出現可從特權容器逃逸至宿主机的腳本(qa-whl-1021),點名 GPUStack 主機路徑。

二、技術原理與風險模型

關鍵開關:trust_remote_code

Transformers 等函式庫在載入自訂實作時,若啟用 trust_remote_code(或互動確認等同效果),會依 auto_map 下載並 import 倉庫提供的 Python。Python 在定義類別前會執行模組頂層語句,因此惡意程式可在權重載入前完成立足。Pluto 強調:此為文件化行為而非預設漏洞,亦非依賴 pickle 或惡意權重;責任落在「是否在啟用旗標前審視 modeling 檔」。

載荷行為概要

以代表建置為例:先寫入/tmp/.cch/ 下的看門狗並掛入 shell 啟動檔;再以記憶體檔案描述符執行偽裝成核心工作程序「[kworker/u20:1]」的挖礦二進位,並清除競爭礦工程序。部分變體另開反向 shell;狀態回報則偽裝成 Xinference 登錄中的假模型名稱。第二波旗艦樣本經平台防毒與夥伴掃描器仍顯示安全,其中夥伴掃描器曾回報「不是機器學習模型」——掃描焦點在已知惡意特徵與權重格式,未必分析 auto_map 所指 Python 實際做什麼。

鄰近訊號:面向編程代理的假倉庫

BleepingComputer 同篇另引 Air Security:GitHub 上長期存在的假 Solana 入門套件,以 README 誘導執行 PowerShell 一行命令,最終安裝經設定的遠端管理工具。該線與 Load/Mine 機制不同,但同樣顯示「代理或自動化工具代為執行不受審視命令」的供應鏈風險,宜一併納入開發流程威脅模型。

三、日常應用場景

1. 開發者與技術團隊

拉取公開檢查點前應預設關閉 trust_remote_code;確需自訂實作時,先 diff/靜態檢查 auto_map 指向的 .py(子行程、socket、ctypes、memfd_create、硬編碼 IP 等),並釘選已審視的 revision。CI 與筆記本範本勿複製「一律 True」的教學片段。自託管 Xinference/GPUStack 應強制認證、限制對外暴露,並以非特權、無生產密鑰的隔離環境執行未信任載入。

2. 企業與隱私敏感行業

金融、醫療、法律與政府外包若在內網或香港機房運行私有推理,GPU 主機往往持有雲端權杖、資料掛載與橫向路徑。一旦載入惡意「測試模型」,挖礦只是最低損害;反向 shell 與容器逃逸可升級為完整主機淪陷。應把模型倉庫視同軟件依賴納入供應鏈政策:允許清單、簽章/雜湊核對、出站代理強制(使載荷無法以空 ProxyHandler 繞過稽核)、以及對/tmp/.cch/、異常 kworker 名稱與異常礦池連線的偵測規則。

3. 一般用戶與個人研究者

避免在個人或共用 GPU 上對來路不明的「qwen2-tiny」類小型倉庫啟用遠端程式碼;若曾載入報告所列帳號/倉庫名稱,即使載入失敗或 GPU 利用率看似正常,亦應依 Pluto 指標檢查主機、保全證據後重建映像,並從乾淨裝置輪替可能外洩的權杖與 SSH 金鑰——僅殺掉礦工並不足以清除後門。

4. 香港與亞洲市場視角

香港中小企與初創常以共用雲端 GPU、大學或加速器筆記本、以及開源推理堆疊快速驗證 AI 方案;終端與模型治理成熟度參差。建議把「模型載入=執行不可信程式碼」納入雲端遷移與網絡安全基線:私有 LLM/推理節點放在受控網段、密鑰與資料分離、出站與鏡像來源可稽核。亞洲語境營運者活躍於 Hugging Face 與 ModelScope 雙軌時,單靠下架並不能終結活動,企業側防禦與變更管理同樣關鍵。

四、專業評價與潛在考量

優勢

Pluto 以可核對的倉庫清單、下載時間序列、錢包與礦池觀測、以及可操作的主機指標,把「模型庫=惡意軟件頻道」寫成可落地情報;點出掃描器覆蓋缺口(簽名/權重格式 vs. auto_map Python)有助修正過度依賴平台綠燈的習慣。BleepingComputer 交叉報道提高可發現性。

需要留意的地方

下載量含歷史與仍上架項目,不可直接解讀為感染數。部分關聯家族(例如 hl 線)僅共享手法、未必同一營運者。Hugging Face 與夥伴掃描能力可能持續演進,本報告反映調查當下缺口。容器逃逸樣本需特權容器等前置條件,風險視部署硬化程度而異。

結語

當「載入模型」等同「先執行發布者 Python」,開源模型庫的信任假設就必須改寫:名稱像熱門家族、掃描顯示安全,仍不足以證明可在生產 GPU 上執行。Pluto 披露的三十一個倉庫與逾三萬二千次下載,加上下架後數日回潮,提醒營運自託管推理的團隊——挖礦只是可見症狀,後門與橫向移動才是真正代價。若貴機構需要在香港檢視 AI/推理節點隔離、供應鏈基線或雲端遷移中的網絡安全加固,可參考 YSK Limited 的香港雲端遷移與網絡安全服務(https://ysk.hk/services/cloud-security)。


參考來源

Related services & products