+− 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。 安全張量檔案可以與該代碼並存。

1:32 檢查權重格式涵蓋了一個入口,而儲存庫的代碼仍在等待你遞給它一個訪客徽章。 Checkmarx演示了模型混淆。

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

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

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

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

2:18 錯誤消息以極佳的語法和糟糕的時機到達。 Hugging Face在24小時內刪除了報告的樣本並更改了掃描器。 那個具體的發現促使了一個修復。 安全掃描是有用的證據,將每個掃描器錯誤視為健康的證明仍然是對失敗的一個非常寬容的解釋。 偏好使用安全張量和當前修補的載入器。 PyTorch從版本2.6開始收窄了其預設載入器。 審查自訂代碼並固定審查後的修訂。 在隔離環境中運行不熟悉的套件,不帶個人金鑰,

2:43 並限制網路存取。

什麼讓金鑰不在訪客的範圍內?

2:46 一個裝滿掛載憑證的容器是一個帶有命名空間的禮物籃。 那個開頭的謎題有答案。 載入失敗告訴你執行在哪裡停止。 早期的指令可能已經運行。 在打開包裹之前,將秘密置於其無法觸及的範圍之外。 判決,深入解析。 載入器。免費下載應該附帶一個模型,訪客名單應該 仍然由我決定。

3:08 如果你寧願閱讀這篇文章而不是聽我說,那麼diff每天早上都會免費發送到你的收件箱,網址是thedailydiff.dev,連結在下面。 這就是今天的diff。

我為什麼要蓋上這個「需要審查」的章?

3:16 我是Axrisi的Niko。 負責任地合併。 loader. The free download should come with a model, and the guest list should remain my decision. If you'd rather read this than hear me say it, the diff lands in your inbox every morning, free at the daily diff dot dev, link below. And that's the diff for today.

來源

  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-HK · 2026年9月23日

模型「壽終正寢」後,幕後有甚麼變化?

AI 模型不會消亡 — 它只會有一個關閉日期,然後第二天早上,你的 API 呼叫會收到一個 404 錯誤:「此模型已被棄用,請在此處了解更多資訊。」幕後:四階段流程(活躍 → 傳統 → 棄用 → 退役)、通知期限(OpenAI ≥ 6 個月 / 3 個月 / 預覽版約 2 星期;Anthropic ≥ 60 天)、開發人員會遇到甚麼問題(響亮的 404 錯誤、悄無聲息的評估漂移、Claude 4.

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

通行密匙,原理揭秘

通行密匙是您的設備生成、從不向您顯示,也拒絕交給任何人(包括您自己)的密碼。原理揭秘:WebAuthn 流程(每個網站一對密鑰、質詢、簽名)、瀏覽器寫入以杜絕網絡釣魚的一個字段(來源)、設備綁定與同步密鑰、AAGUID,以及為何「無法釣魚」和「不可移動」是同一個特性——這正是「我不喜歡通行密匙」(在 Hacker News 上獲得 616 點贊)真正要表達的。結論:NEEDS REVIEW — 流

3:12 ↗