🎬 YouTube Premium 家庭 Plan成員一位 只需
HK$148/年!
不用提供密碼、不用VPN、無需轉區
直接升級你的香港帳號 ➜ 即享 YouTube + YouTube Music 無廣告播放
惡意攻擊新手法:ML模型成PyPI供應鏈攻擊新目標
人工智能(AI)及機器學習(ML)現已與軟件供應鏈密不可分。由大型語言模型(LLMs)驅動的ML模型,正為企業提供無限的解決方案,滿足各類關鍵業務需求。隨着OpenAI的ChatGPT等生成式AI工具,以及Hugging Face這類專供ML項目協作與分享的平台愈趨普及,軟件、編碼與AI/ML已逐漸融為一體。
然而,正如每一項新科技一樣,ML模型的急速發展亦帶來全新且不斷演變的攻擊面,令網絡安全界疲於奔命地理解及防禦。ReversingLabs(RL)研究人員及工程師,正積極探索惡意ML模型對供應鏈構成的威脅。
Pickle檔案格式成攻擊溫床
RL早前已指出,Pickle這個Python常用的序列化模組雖然方便,但安全性極低。它廣泛應用於ML模型數據的序列化與反序列化,卻容易被黑客利用,在模型檔案中植入惡意代碼。RL產品管理高級總監Dhaval Shah早前撰文,警告Pickle檔案為攻擊者大開方便之門。
這個警告很快就被證實。RL威脅研究員於今年2月發現「nullifAI」事件,黑客利用Pickle格式的ML模型,在Hugging Face平台散播惡意模型。最近RL團隊再有新發現,證明Pickle攻擊手法已轉移至Python Package Index(PyPI)平台。
偽裝成阿里雲AI套件的惡意PyPI套件
上周二,RL研究員發現三個新上載的惡意PyPI套件,自稱是「用於與阿里雲AI Labs服務互動的Python SDK」。但這些套件實際上與AI Labs毫無關係,更無任何SDK功能,只是純粹用來竊取情報,並將資料回傳黑客伺服器。
這三個套件分別是aliyun-ai-labs-snippets-sdk、ai-labs-snippets-sdk及aliyun-ai-labs-sdk。它們於5月19日上載到PyPI,存活不足24小時,合共被下載約1,600次,其中ai-labs-snippets-sdk下載量最高。
惡意PyTorch模型暗藏其中
今次攻擊最關鍵之處,是惡意payload被藏於兩個套件內的PyTorch模型(PyTorch模型本質上是壓縮的Pickle檔)。安裝時,初始化腳本會即時載入這個模型,然後執行竊取機器基本資料及.gitconfig檔案內容的infostealer程式碼。
infostealer會收集用戶名稱、感染機器的網絡地址、所屬機構名稱,以及.gitconfig檔案內容。機構名稱是透過AliMeeting(中國流行的視訊會議應用)設定檔中的_utmc_lui_鍵獲取。這些線索顯示,攻擊目標極可能是中國內地的開發者。
部分套件更進一步,將payload再以Base64加密,增加偵測難度。
現代工具是防禦關鍵
RL團隊持續提升對ML模型檔案格式的識別與解碼能力,並加入全新Threat Hunting Policies(THPs),針對模型檔內危險功能發出警告。這次能夠成功捕獲惡意套件,正是得益於這些進步。
例如,TH19101及TH19103會針對Pickle等可執行序列化格式作出警示。若發現有Base64加密層,則會觸發TH16103,警告模型內有可動態執行Base64編碼數據的檔案。
結語:供應鏈攻擊新戰場
惡意PyPI套件早已屢見不鮮,RL團隊幾乎每日都會發現新例。但今次攻擊者另闢蹊徑,把惡意payload隱藏於ML模型內,利用PyPI平台進行供應鏈攻擊。這種做法相當狡猾,因為現時大部分安全工具對ML模型內惡意功能的偵測仍處於初步階段,傳統工具更是無能為力。
RL意識到ML模型安全對供應鏈的重要性,率先推出Spectra Assure方案,支援ML模型相關威脅偵測,並能依循CycloneDX標準,為企業環境生成ML-BOM(物料清單),即時掌握ML模型分佈狀況。
攻擊指標(IOCs)
以下為RL團隊調查所得部分攻擊指標(IoCs),包括涉及的套件名稱、版本及SHA1:
package_name | version | SHA1 |
---|---|---|
ai-labs-snippets-sdk | 0.1.0 | a9aec9766f57aaf8fd7261690046e905158b5337 |
ai-labs-snippets-sdk | 1.1.0 | 4bd9b016af8578fbd22559c9776a8380bbdbc076 |
ai-labs-snippets-sdk | 1.2.0 | 05dbc49da7796051450d1fa529235f2606ec048a |
ai-labs-snippets-sdk | 2.0.0 | 6dc828ca381fd2c6f5d4400d1cb52447465e49dd |
ai-labs-snippets-sdk | 2.2.0 | 7d3636cecd970bb448fc59b3a948710e4f7fae7d |
ai-labs-snippets-sdk | 3.0.0 | 1fedfba761c5dab65e99a30b23caf77af23f07bc |
ai-labs-snippets-sdk | 3.2.0 | 8aaba017e3a28465b7176e3922f4af69b342ca80 |
ai-labs-snippets-sdk | 3.3.0 | a975e2783e2d4c84f5488f52642eaffc4fb1b4cd |
ai-labs-snippets-sdk | 3.4.0 | 017416afba124b5d0dab19887bc611f9b5b53a27 |
ai-labs-snippets-sdk | 3.5.0 | 17eaddfd96bc0d6a8e3337690dc983d2067feca7 |
ai-labs-snippets-sdk | 4.0.0 | 2bb1bc02697b97b552fbe3036a2c8237d9dd055e |
ai-labs-snippets-sdk | 4.4.0 | 32debab99f8908eff0da2d48337b13f58d7c7e61 |
aliyun-ai-labs-sdk | 1.0.0 | 0e0469a70d2dbcfe8f33386cf45db6de81adf5e7 |
aliyun-ai-labs-snippets-sdk | 1.0.0 | e1d8dbc75835198c95d1cf227e66d7bc17e42888 |
aliyun-ai-labs-snippets-sdk | 2.0.0 | 183199821f1cb841b3fc9e6d41b168fd8781c489 |
aliyun-ai-labs-snippets-sdk | 2.1.0 | 81080f2e44609d0764aa35abc7e1c5c270725446 |
編輯評論:AI供應鏈安全的「黑盒」危機
這宗事件再次提醒我們,AI與ML技術的滲透,正令軟件供應鏈安全面臨前所未有的「黑盒危機」。ML模型過往只是數據載體,但黑客已發現其可作為惡意代碼的「隱形載具」,尤其是Pickle這類可執行格式,搖身一變成為漏洞溫床。現時全球開發社群對ML模型的信任機制極度薄弱,很多企業、開發者甚至連模型來源都不驗證,便直接納入生產環境。這種「盲信開源」心態,正是黑客最樂見的攻擊土壤。
今次案例更值得警惕的是,攻擊者針對性極強,利用中國本地流行的AliMeeting應用設定作鎖定,反映供應鏈攻擊已進化到精細化、地區化階段。PyPI、npm、Hugging Face等平台,因其開放特性,未來只會成為更多此類攻擊的溫床。
面對這種新型態威脅,傳統防毒、檔案掃描工具根本無從入手。企業必須採取「零信任」策略,對所有引入的ML模型、開源套件逐一驗證來源、內容及行為。同時,開發社群亦要共同建立ML模型的信任傳遞與審計機制,否則整個AI生態圈都可能被一個小小的Pickle檔拖垮。
這場供應鏈安全戰爭,才剛剛開始。未來,AI模型不再只是「數據」,而是潛藏無數未知風險的黑盒。我們準備好了嗎?