安全通告 | PyPI近期遭若干惡意包投毒
VSole2022-08-17 09:06:38
概述
美團安全部的供應鏈檢測系統近期檢測出PyPI源遭多次投毒攻擊,這些惡意包在安裝時會自動下載運行含有惡意行為的程序。

惡意行為動態檢出
在最近一次檢測中,我們捕獲捉到typing-unions和aiogram-types在安裝時產生執行系統命令的行為:

TensorFolw、lxlm、falsk等包在安裝時有訪問外網下載文件并自動執行的行為:


惡意包源碼分析
typing-unions與aiogram-types
在typing-unions-3.10.0.1源碼包的setup.py中第79-80行可以看到經過編碼處理的命令執行代碼

經過base64解碼后得到最終代碼樣例:

可以看出這段代碼嘗試在windows環境下做殺毒軟件檢測,在沒有檢測到一些殺軟程序的情況下會寫入自己的惡意二進制文件并執行。
aiogram-types包與typing-unions包行為邏輯相同。
TensorFolw、lxlm、falsk等
不難發現TensorFolw在仿冒TensorFlow,lxlm在仿冒lxml,falsk在仿冒flask。
這些包利用typosquatting方式進行投毒,攻擊者只需等待受害者因拼寫錯誤而安裝惡意包即可實現攻擊。
在源碼包的setup.py中最初幾行就能看到惡意代碼

使用pip install或python setup.py install來安裝此包時均會自動執行zzr()函數,在windows環境下安裝此包會下載test.exe并執行。經過沙箱檢測test.exe有類似木馬行為。
風險排查方式
- 可使用
pip list檢查是否誤裝了這些包。 - 打開進程管理,查殺可疑進程。
- 檢查requirements.txt或其他自動化安裝腳本,確認沒有包名拼寫錯誤情況。
惡意包的相關信息
上傳用戶:John3298
上傳時間:08月13日
包名:
- typing-unions
- aiogram-types

上傳用戶:devfather777
上傳時間:08月13日
包名:
- falsk
- inda
- douctils
- ipadress
- ipaddres
- mokc
- tqmd
- lxlm
- Seabron
- TensorFolw
- Kears
- Gesnim

VSole
網絡安全專家