研究發(fā)現(xiàn)十個(gè)竊取開(kāi)發(fā)者數(shù)據(jù)的惡意 PyPI 包
Check Point 研究人員在 Python 包索引 (PyPI) 上發(fā)現(xiàn)了十個(gè)惡意包。這些軟件包安裝了信息竊取程序,允許攻擊者竊取開(kāi)發(fā)人員的私人數(shù)據(jù)和個(gè)人憑據(jù)。研究人員提供了有關(guān)惡意軟件包的詳細(xì)信息:
- Ascii2text 在名稱(chēng)和描述上模仿了流行的 art 軟件包。可以在沒(méi)有發(fā)布部分的情況下復(fù)制整個(gè)項(xiàng)目描述,從而防止用戶意識(shí)到這是一個(gè)假包。惡意部分在包 init.py 文件中,由setup.py安裝腳本導(dǎo)入。init.py 文件中的代碼負(fù)責(zé)下載和執(zhí)行惡意腳本,該腳本搜索本地密碼并使用 discordweb hook 上傳。
- Pyg-utils、Pymocks 和 PyProto2,允許攻擊者竊取用戶的 AWS 憑證。Pyg-utils 連接到同一惡意域 (pygrata.com),Pymocks 和 PyProto2 有幾乎相同的代碼針對(duì)不同的域 ——pymocks.com。
- Test-async 在其描述中被描述為 “非常酷的測(cè)試包,非常有用,每個(gè)人都 100% 需要”。在其 setup.py 安裝腳本中,它從 Web 下載并執(zhí)行可能是惡意的代碼。在下載該代碼段之前,它會(huì)通知 Discord channel “new run” 已開(kāi)始。
- Free-net-vpn 和 Free-net-vpn2是針對(duì)環(huán)境變量的惡意軟件包。在它的 setup.py 安裝腳本上有一個(gè)干凈的、有記錄的代碼來(lái)獲取用戶的憑據(jù)。然后將這些機(jī)密發(fā)布到一個(gè)由動(dòng)態(tài) DNS 映射服務(wù)映射的網(wǎng)站上。
- Zlibsrc模仿 zlib 項(xiàng)目,包含一個(gè)從外部源下載和運(yùn)行惡意文件的腳本。
- Browserdiv 是一個(gè)惡意程序包,其目的是通過(guò)收集安裝程序憑據(jù)并將其發(fā)送到預(yù)定義的 discord webhook 來(lái)竊取安裝程序憑據(jù)。雖然根據(jù)它的命名,它似乎是針對(duì)網(wǎng)頁(yè)設(shè)計(jì)相關(guān)的程序(bowser,div),但根據(jù)其描述,該軟件包的動(dòng)機(jī)是為了在 discord 內(nèi)使用 selfbots。
- WINRPCexploit雖然根據(jù)其描述,它是一個(gè) "利用 windows RPC 漏洞的軟件包",但其實(shí)是一個(gè)憑據(jù)竊取程序包。在執(zhí)行時(shí),該包會(huì)將服務(wù)器的環(huán)境變量(通常包含憑據(jù))上傳到攻擊者控制的遠(yuǎn)程站點(diǎn)。
盡管 CheckPoint 報(bào)告了發(fā)現(xiàn)的軟件包并從 PyPI 中刪除,但在其系統(tǒng)中下載這些軟件包的軟件開(kāi)發(fā)者仍然可能面臨風(fēng)險(xiǎn)。
Bleepingcomputer 指出,在許多情況下,惡意程序包為可能的供應(yīng)鏈攻擊奠定了基礎(chǔ),因此開(kāi)發(fā)人員的計(jì)算機(jī)可能只是廣泛感染的起始點(diǎn),并且應(yīng)該對(duì)代碼進(jìn)行惡意代碼審計(jì)。重要的是要記住,PyPI 中的任何包都沒(méi)有安全保證,用戶有責(zé)任仔細(xì)檢查名稱(chēng)、發(fā)布?xì)v史、提交詳細(xì)信息、主頁(yè)鏈接和下載數(shù)量。所有這些元素共同有助于確定 Python 包是否值得信賴(lài)或是否具有潛在惡意。?