惡意PyPI代碼包下載量達數千次
已發現托管在Python軟件包索引(PyPI)代碼庫中的三個惡意軟件包,它們共計被下載12,000次——并且可能被偷偷安裝在各種應用程序中。
獨立研究員安德魯·斯科特(Andrew Scott)在對PyPI中包含的代碼進行近乎全站范圍的分析時發現了這些包,PyPI是用Python編程語言創建的軟件代碼存儲庫。與GitHub、npm和RubyGems一樣,PyPI允許編碼人員上傳軟件包,供開發人員用于構建各種應用程序、服務和其他項目。
不幸的是,一個惡意包可以被安裝到多個不同的項目中——用加密礦工、信息竊程序等感染它們,并使修復成為一個復雜的過程。
在本例中,Scott發現了一個包含已知木馬惡意軟件和兩個信息竊取程序的惡意軟件包。
他說,這個木馬包被稱為“aws-login0tool”,一旦安裝該軟件包,它就會獲取一個有效載荷可執行文件,結果證明它是一個已知的木馬。
Scott在周日的一篇帖子中解釋說:“我發現這個包是因為它在我查看setup.py時的多個文本搜索中被標記,因為這是Python包中惡意代碼最常見的位置之一,在安裝時可以在那里執行任意代碼。”“具體來說,我是通過查找import urllib.request發現這一點的,因為它通常用于竊取數據或下載惡意文件,它也是由from subprocess import Popen觸發的,這有點可疑,因為大多數包不需要執行任意命令行代碼。”
Scott還通過查看import urllib.request字符串確定了另外兩個惡意軟件包,這兩個包都是為數據滲漏而構建的。
這兩個名為“dpp-client”和“dpp-client1234I”的文件是由同一個用戶在二月份上傳的。在安裝過程中,他們收集有關環境和文件列表的詳細信息,并且似乎“專門尋找與Apache Mesos相關的文件”,Scott說,這是一個管理計算機集群的開源項目。據研究人員稱,一旦收集到信息,就會將其發送到一個未知的web服務。
Python安全團隊在12月10日收到通知后刪除了已識別的包,但由于這些項目在刪除之前就被導入了,所有三個包都繼續存在。
Scott表示,該木馬程序包于12月1日首次添加到PyPI中,隨后被下載了近600次。至于數據竊取者,dpp-client包下載量超過10000次,其中上個月下載量600+;dpp-client1234已被下載約1,500次。并且這兩個軟件包的源代碼URL都模仿了現有的流行庫,“所以任何人在PyPI中瀏覽軟件包或分析庫的流行程度時,都會看到大量的GitHub星星和分支,這代表了良好的聲譽。”
軟件供應鏈已成為一種越來越流行的惡意軟件分發方法。例如,上周在Node.js軟件包管理器(npm)代碼庫中發現了一系列旨在收集Discord令牌的惡意包。這些軟件包可以用來接管毫無戒心的用戶的帳戶和服務器。
本文翻譯自:https://threatpost.com/malicious-pypi-code-packages/176971/如若轉載,請注明原文地址。