+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Hugging Face 模型檔案可能執行隱藏程式碼

惡意模型套件可以在不安全的載入過程中執行程式碼。

惡意模型套件可以在不安全的載入過程中執行程式碼。三個有記錄的案例解釋了 Pickle 反向 Shell、損壞檔案掃描器的行為以及研究演示的模型名稱混淆,並明確限制了憑證竊取的主張。

閱讀書面版(英文) ↗

本影片重點

  • 數值模型權重、可執行序列化和自訂儲存庫程式碼是不同的東西。
  • JFrog 和 ReversingLabs 記錄了反向 Shell 有效負載;他們選定的報告並未證實從具名受害者竊取憑證。
  • Checkmarx 模型混淆是一項需要匹配遠端模型和不安全載入的研究演示。
  • 偏好 safetensors 和修補過的載入器,審查並固定自訂程式碼,並將不熟悉的套件與個人秘密和不必要的網路存取隔離。

翻譯文字稿

譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。

模型下載如何邀請訪客?

0:00 模型檔案只是磁碟上的數字。 載入一個惡意 Hugging Face 套件開啟了一個遠端 Shell, 這是一種對本地 AI 的雄心勃勃的解釋。 載入如何變成執行? 它可以觸及哪些秘密? 到底是什麼阻止了它? 並記住一個謎題。 模型可能在危險部分已經發生之後載入失敗。

0:18 這是 The Daily Diff,幕後探秘。 Hugging Face 是一個分享機器學習模型的平台, 數據集和應用程式。 模型權重是學習到的數字。 儲存庫還可以包含配置和 Python 程式碼。 這裡的危險是當您載入它時,可執行套件會進入您的電腦。 Pickle 儲存帶有重建指令的 Python 物件。

載入器如何執行包裹的指令?

0:37 不安全的載入器可以遵循這些指令並在解包時呼叫函數。 下載位元組將包裹放在您的磁碟上。 反序列化將其打開。 某處,檔案格式已被提升為無薪系統管理員。 JFrog 於 2024 年 2 月報導了 Goober Two。 其 Pickle 有效負載開啟了一個反向 Shell,向外連接以提供遠端命令存取。 儲存庫已被刪除。 JFrog 還發現了暗示研究人員參與的線索,

1:02 因此歸屬尚不確定。 不受歡迎的訪客已被記錄。 尚未證實從實際受害者竊取憑證。

哪些秘密在程式的觸及範圍內?

1:09 以您的使用者身份執行的程式碼可以讀取該程序可以讀取的任何內容。 掛載的雲金鑰或可存取的令牌成為可能的目標。 發送出去還需要一個正常工作的網路路由。 單憑數值權重沒有神奇的憑證權力。 您的權限提供了模型卡中有趣的部分。 還有另一扇門。 有些模型要求您信任遠端程式碼,這授權了來自儲存庫的 Python。 Safetensor 檔案可以放在該程式碼旁邊。

1:32 檢查權重格式涵蓋了一個入口,而儲存庫的程式碼仍在等待您為其 提供訪客徽章。

為什麼遺失的本地路徑會變成遠端模型?

1:38 Checkmarx 演示了模型混淆。 遺失的本地模型路徑可以解析為具有匹配名稱的公共儲存庫。 將其與遠端程式碼啟用結合,錯誤的套件就可以執行。 這是一個涉及一家未具名公司的樣本的研究演示, 在一天內得到糾正。 遺失的資料夾獲得了一位房東。 ReversingLabs 於 2025 年 2 月報導了兩個樣本, 將該技術稱為 nullify AI。

損壞的套件如何規避舊掃描器?

1:58 兩者都包含反向 Shell。 他們的 7zip 打包阻止了普通的 PyTorch 載入, 因此此路徑需要提取和不安全的解序列化。 損壞的 Pickle 流也暴露了掃描器的盲點。 在任何人打開包裹之前,掃描失敗值得調查。 在研究人員無害的測試中,指令在載入器 到達損壞部分並引發錯誤之前寫入了一個檔案。 想像一下打開一個包裹,釋放了浣熊,然後才注意到運送標籤無效。

2:18 錯誤訊息帶著完美的語法和糟糕的時機到達。 Hugging Face 在 24 小時內刪除了報導的樣本並更改了掃描器。 該特定發現促使了修復。 安全掃描是有用的證據,將每個掃描器錯誤視為一份健康的證明仍然是對失敗 的一個非常慷慨的解釋。 偏好 safetensors 和當前修補過的載入器。 PyTorch 從版本 2.6 開始縮小了其預設載入器。 審查自訂程式碼並固定已審查的版本。

2:43 在隔離狀態下執行不熟悉的套件,沒有個人金鑰,

什麼讓金鑰在訪客觸及範圍之外?

2:46 並限制網路存取。 一個裝滿掛載憑證的容器是一個帶有命名空間的禮物籃。 那個開頭的謎題有答案。 載入失敗告訴您執行停止在哪裡。 較早的指令可能已經運行。 在打開包裹之前,將秘密放在其觸及範圍之外。 判決,幕後探秘。 載入器。免費下載應該附帶一個模型,訪客名單應該

3:08 仍然是我的決定。 如果您寧願閱讀而不是聽我說,The Daily Diff 會在每天早上免費發送到您的收件箱,

我為什麼要標記此為 NEEDS REVIEW?

3:16 網址是 thedailydiff.dev,連結在下方。 這就是今天的 The Daily Diff。 我是來自 Axrisi 的 Niko。 負責任地合併。 Merge responsibly. SHIP IT NEEDS REVIEW

來源

  1. Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
  2. Malicious ML models discovered on Hugging Face platformReversingLabs
  3. AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
  4. Pickle ScanningHugging Face
  5. SafetensorsHugging Face
  6. Loading custom modelsHugging Face
  7. Serialization semanticsPyTorch

相關影片

under-the-hood · zh-TW · 2026年9月23日

模型終止運作的幕後故事

AI 模型並非「死亡」——它會收到一個終止日期,隔天早上,您的 API 呼叫會回傳 404:「該模型已棄用,請點此了解更多。」幕後故事:四種狀態的流程(活躍 → 舊版 → 棄用 → 退役),通知期限(OpenAI:一般模型 ≥ 6 個月/3 個月,預覽版約 2 週;Anthropic ≥ 60 天),開發者會遇到的問題(響亮的 404、無聲的評估漂移、Claude 4.7+ 溫度參數導致的新 40

3:15 ↗
under-the-hood · zh-TW · 2026年9月19日

通行密鑰,幕後原理

通行密鑰是您的裝置發明、從不向您顯示,並拒絕交給任何人的密碼——包括您自己。幕後原理:WebAuthn 儀式(每個網站一組金鑰對、挑戰、簽名)、瀏覽器寫入以杜絕網路釣魚的唯一欄位(來源)、裝置綁定與同步金鑰、AAGUID,以及為何「無法被網路釣魚」和「無法被移動」是相同的特性——這正是 Hacker News 上「我不喜歡通行密鑰」(616 點)所真正關注的問題。結論:NEEDS REVIEW——

3:12 ↗