iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI Security

新手上路不當砲灰!30 天一章一章啃完 CompTIA SecAI+ 備考筆記系列 第 6

AI 供應鏈安全:小心 HuggingFace 上的模型跟有毒的套件包

  • 分享至 

  • xImage
  •  

大家好,今天我們要來看看一個現在非常火熱、而且真的很恐怖的話題:AI 供應鏈攻擊

前陣子常常有新聞報導軟體供應鏈攻擊,像是很有名的 SolarWinds 案,駭客污染了正版的軟體更新,讓幾千家企業跟著中招。
而現在,類似的災情正在 AI 的世界裡上演,而且速度更快、範圍更廣。

2026 年初,就有研究指出,熱門的開源 AI 套件如果被駭客下了毒,可能在短短幾十分鐘內,就會影響幾萬個 AI 應用服務。

因為很多工程師在開發 AI 專案時,習慣從網路上隨便下載套件或模型,完全沒有進行任何安全審計,這就給了駭客絕佳的機會。

今天,我們就一起來拆解 AI 供應鏈的四大地雷。


一、 什麼是 AI 供應鏈?

AI 供應鏈指的是一個 AI 系統從無到有、最後上線所需要的所有「外來物資」:

  • 第三方訓練資料集
  • 開源預訓練模型(像是從 HuggingFace 下載的模型)
  • 開發套件與框架(像是 PyTorch、TensorFlow、Transformers)
  • AI API 服務(像是 OpenAI 或 Anthropic 的 API)

只要這中間有任何一個環節被駭客動了手腳,你最後做出來的 AI 應用程式就會直接帶毒。


二、 地雷一:HuggingFace 上的惡意模型

在 AI 領域,HuggingFace 就像是 AI 界的 GitHub。大家要用模型時,都會去上面下載。

  • 駭客怎麼玩?
    駭客會上傳一個看起來很棒、測試準確率也很高的模型。
    以前的模型檔案格式常常是用 .pkl(Pickle 格式)。這種格式有一個很大的安全漏洞,就是會發生「反序列化攻擊(Deserialization Attack)」。
    簡單說,就是你在寫 Python 程式載入(load)這個模型的瞬間,模型檔案裡藏的惡意程式碼就已經在你的伺服器上執行了!你連「跑」模型都還沒開始跑,主機就已經被駭客控制了。
  • 備考防禦關鍵字:
    • SafeTensors 格式:現在下載模型,要優先選擇 .safetensors 格式。它不允許在載入時執行任意程式碼,比傳統的 Pickle 安全太多了。
    • Hash 驗證:下載模型後,一定要比對雜湊值(Hash),確認檔案沒有被調包。

三、 地雷二:PyPI 與 npm 上的依賴混淆(Dependency Confusion)

我們在寫 AI 應用時,一定會用 pip install 下載一堆 Python 開發套件。

  • 駭客怎麼玩?
    駭客會去 PyPI(Python 的公開套件庫)上,發布一個名字跟「大公司內部私有套件」一模一樣的惡意套件。
    或者是故意起一個跟熱門 AI 套件很像的名字,比如正版叫 torch,駭客就註冊一個叫 torch-cuda-utils(聽起來超像官方擴充套件,對吧?)。
    當開發者或 CI/CD 流程在安裝時,系統不小心裝到了這個仿冒版本,它就會偷偷把你的環境變數、甚至是你的 OPENAI_API_KEY 偷偷傳回給駭客。
  • 備考防禦關鍵字:
    • 版本鎖定:在 requirements.txt 裡一定要寫死版本,並加上 Hash 驗證。
    • pip-audit:定期用工具去掃描你的開發依賴有沒有已知的漏洞。
    • SBOM(軟體物料清單):盤點清楚你的系統到底用了哪些第三方套件。

四、 地雷三:有毒的訓練資料

我們前面說過「資料投毒」,如果駭客直接污染公開的資料集,後果會很嚴重。

  • 駭客怎麼玩?
    如果駭客在 GitHub 上大量上傳寫得很爛、或是藏有特定安全漏洞的程式碼。
    當 AI 公司把這些程式碼爬回去訓練「AI 寫程式助理」時,AI 就會學會建議有漏洞的寫法。
    最後,寫程式的人用了 AI 的建議,做出來的系統就通通帶著漏洞。這根本是借刀殺人啊!
  • 備考防禦關鍵字:
    • Data Provenance(資料出處追蹤):搞清楚你的訓練資料到底是從哪裡來的。

五、 地雷四:有毒的預訓練基礎模型

這是最恐怖的一種。駭客把一個帶有後門的基礎模型放到網路上。
下游(downstream)的開發者下載了它,並用自己的專業資料做微調(Fine-tuning),做出了各式各樣的子模型。
結果就是,這數百個子模型通通都繼承了同一個安全後門,而且這些開發者根本不知道自己從起跑點就被污染了。

這也是為什麼 OWASP LLM Top 10 把「供應鏈風險(Supply Chain Risks)」列為前三大威脅的原因。


考試會怎麼考?

我們來看一題 SecAI+ 模擬題:

「一個開發團隊正在從公共平台上載入一個機器學習模型檔案。為了防範因載入模型而導致在伺服器上執行惡意程式碼的安全風險,團隊應該優先採用哪種模型儲存格式?」

A. Pickle (.pkl)
B. SafeTensors (.safetensors)
C. ONNX (.onnx)
D. PyTorch (.pt)

答案是 B。SafeTensors 格式就是為了解決 Pickle 反序列化漏洞而設計的。考試考到「載入模型時防止代碼執行」,選它就對了。


今天的重點總結:

  • AI 供應鏈:不是只有程式碼,連模型和資料都有可能中毒。
  • 載入模型防毒:請指名 .safetensors 格式。
  • 套件防仿冒:鎖定版本、做好 SBOM 盤點。
  • 資料溯源:Data Provenance 追蹤,搞清楚資料來源。

明天我們要講一個超好玩但也超可怕的話題:Deepfake 攻擊與語音克隆。
我們明天見啦!


上一篇
LLM 是怎麼被教乖的?預訓練、SFT 到 RLHF 及其安全漏洞
系列文
新手上路不當砲灰!30 天一章一章啃完 CompTIA SecAI+ 備考筆記6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言