你在使用pip(Python包管理工具)安裝各種軟體包的時候,是否曾把軟體包的名字打錯了?像把numpy打成mumpy,
又比如:
pip install mplatlib
如果你有過這種情況,那麼要小心了,這可不僅僅是輸錯了這麼簡單的事,因為這些軟體包都是真實存在的,你可能無意間就下載安裝了一些惡意軟體。
近日,安全研究團隊Sonatype在官方的Python軟體儲存庫(PyPI)上發現了六個包含不同惡意軟體的軟體包。這些包故意使用與熱門軟體包相近的拼寫方式,透過使用者使用pip安裝時的錯誤拼寫“偷渡上岸”之後,將會利用受感染計算機的資源來挖礦。
根據PePy的資料,六款惡意軟體的名稱與下載數如下:
maratlib:2462
maratlib1:390
matplatlib-plus:943
mllearnlib:316
mplatlib:333
learninglib:648
到目前為止這六款惡意軟體的下載量已經超過了5000次。而PyPI也已經刪除了這些惡意軟體包。
雖然其釋出者nedog123上傳這些惡意軟體包似乎只是為了竊取受害者計算機資源用來挖礦,但Sonatype仍然對此事十分重視。這次的發現僅是冰山一角,誰也不知道究竟還有多少潛藏的惡意軟體包沒被發現、那些惡意軟體包又會隱藏著何種目的。
這件事的根源在於第三方可以上傳軟體包,由此開發人員可以借用或改進前人的工作,這種共享行為提高了所有人的效率,這本來是PyPI的一個優勢。但這也代表著他人可以上傳惡意的軟體,開源是把雙刃劍,稽核不嚴的問題一直為使用者所詬病。以前就發生過這種事情,一名大學生在幾個月的時間內欺騙17000名程式設計師執行他的指令碼超過45000次,甚至騙過了美國政府和軍事組織。
不僅PyPI,其他的包管理工具也存在類似的問題。去年在RubyGems有一個被下載了數千次的軟體包,其中的惡意軟體會試圖攔截比特幣付款;而自2019年以來,Sonatype已跟蹤超過12000個惡意NPM包。
開源儲存庫可能是寶庫,亦可能是惡意軟體的載體,在安裝各種軟體包時一定要萬分小心。
公眾號ID:ikanxue
官方微博:看雪安全
商務合作:wsc@kanxue.com