小心!你下載的機器學習工具包可能是病毒:CuPy被掉包,官方一天后才發現
真是有驚無險
曉查 發自 凹非寺?量子位 報道 | 公眾號 QbitAI
小心!你通過pip安裝的機器學習工具包,有可能是惡意軟件。
如果你最近下載了NumPy的CUDA加速包CuPy,那么你要注意了:
cupy-cuda112這款軟件包,前幾天被黑客悄悄換成了一個“惡意軟件”。
不過還個好消息,冒牌的軟件包已經被刪除了。除此之外,PyPI最近還刪除了3653個惡意軟件包。
整個事件的過程是這樣的:
官方名稱被搶注
2月26日凌晨5點,Cupy官方團隊計劃在這一天發布用于CUDA 11.2的CuPy工具包,因此準備在PyPI中注冊cupy-cuda112這個名稱。
然而,他們發現,有人居然在前一天晚上把這個軟件包搶注了,而且搶注的黑客還上傳了一個無效的版本v2.2.2。
此時,CuPy已經是v8.4.0了,而官方計劃發布的是v8.5.0和v9.0.0b3兩個版本。
CuPy團隊迅速向PyPI團隊提交移除cupy-cuda112的請求,然后在Twitter和GitHub的issue頁向所有程序員發布公告:我們的軟件被掉包了。
PyPI的處理也算迅速,到了中午11點, 假冒的cupy-cuda112軟件包終于被下架。
直到3月2日,CuPy團隊才發布了正版cupy-cuda112軟件包,攻擊事件總算告一段落。
善意的提醒
黑客為何要上傳v2.2.2版,令人匪夷所思。
因為這一版本號和當前CuPy版本差距也太大了。編譯代碼進行版本查詢,很容易就發現貓膩。黑客顯然并不想瞞天過海。
這位黑客極有可能正在進行一項安全測試。
黑客名叫“RemindSupplyChainRisks”,很明顯他是為了引起大家對惡意軟件風險的重視。
在這個軟件包注釋中,他甚至直接寫道:“我這樣做的目的是使所有人都關注軟件供應鏈攻擊,因為風險太大了。”
所以說,這根本就是一個帶著善意提醒的“惡意軟件”。但是,如果真的有人利用這個漏洞來攻擊別人呢,真是讓人細思極恐。
假冒軟件包還會向一個IP地址發送GET請求,告訴黑客有哪些人被攻擊了。
這不禁讓人想起,一個月前類似的事件。
當時安全研究員Alex Birsan發現,采用掉包同名軟件的手法,可以攻破蘋果、微軟、特斯拉等公司的內部網絡。
因為這些科技都有自己的私有PyPI或Node.js軟件包,只要上傳與之同名的惡意軟件,那么程序員們使用pip、npm安裝命令就可能中毒。
Brisan說,這種攻擊方式的成功率簡直讓人吃驚,他也因此獲得了多家公司的漏洞賞金。
根據PEP 841規范,項目維護者有保留軟件包索引的權利,惡意軟件搶注名稱將被視為無效而被刪除。
但是規范終究只是規范,缺乏安全審查的包管理工具風險依然存在。
參考鏈接: [1]?https://www.theregister.com/2021/03/02/python_pypi_purges/ [2]?https://github.com/cupy/cupy/issues/4787
版權所有,未經授權不得以任何形式轉載及使用,違者必究。
- 腦機接口走向現實,11張PPT看懂中國腦機接口產業現狀|量子位智庫2021-08-10
- 張朝陽開課手推E=mc2,李永樂現場狂做筆記2022-03-11
- 阿里數學競賽可以報名了!獎金增加到400萬元,題目面向大眾公開征集2022-03-14
- 英偉達遭黑客最后通牒:今天必須開源GPU驅動,否則公布1TB機密數據2022-03-05



