![kami911 képe kami911 képe](https://linuxmint.hu/sites/default/files/pictures/picture-133-1545347701.jpg)
Manapság sajnos divatos támadási mód és meglehetősen nagy támadási felület különféle központi csomagtárolókban elhelyezett csomagok fertőzése, vagy a csomagok nevével történő megtévesztés. A pip segítségével telepített PyTorch-nightly Linux-csomagok 2022. december 24 és december 30 között telepítettek egy függőséget, a torchtriton-t, amely a Python Package Index (PyPI) kódtárolójában jelent meg. Ez kompromittálódott függőség a PyPI-ből települ egy megbízható külső forrás helyett. Ennek oka, hogy a pip a PyPI forrást preferálja a csomagok telepítéséhez. Ez egy rosszindulatú bináris programot telepített a számítógépre. Ez az úgynevezett ellátási lánc támadás, amely közvetlenül érinti a nyilvános csomagindexeken tárolt csomagok függőségeit. A PyPI a nyílt forráskódú csomagok tárháza, amelyet a fejlesztők arra használhatnak, hogy megosszák munkájukat, vagy mások munkájából profitáljanak, letöltve a projektjeikhez szükséges funkcionális könyvtárakat. A PyTorch stabil csomagokat alkalmazó felhasználókat ez a probléma nem érinti.
A következő paranccsal ellenőrizhető az érintettség
python3 -c "import pathlib;import importlib.util;s=importlib.util.find_spec('triton'); affected=any(x.name == 'triton' for x in (pathlib.Path(s.submodule_search_locations[0] if s is not None else '/' ) / 'runtime').glob('*'));print('You are {}affected'.format('' if affected else 'not '))"
Eltávolítás
Akik PyTorch-nightly Linux-csomagokat telepítettek 2022. december 24 és december 30 között, így távolíthatják el azokat:
pip3 uninstall -y torch torchvision torchaudio torchtriton pip3 cache purge
Azonosítási információ
SHA256(triton)= 2385b29489cd9e35f92c072780f903ae2e517ed422eae67246ae50a5cc738a0e
Mit csinál?
A bináris információkat lop a rendszerről és a saját mappákból, így a felhasználók privát kulcsa is érintett lehet, amit cserélni szükséges. Érintett információk: névszerverek az /etc/resolv.conf állományból; hostname a gethostname() függvényből; aktuális felhasználónév a getlogin() függvényből; aktuális munkakönyvtár neve a getcwd() függvényből; környezeti változók. További fájltartalmak:
- /etc/hosts
- /etc/passwd
- Az első 1000 fájl a $HOME/* könyvtárban
- $HOME/.gitconfig
- $HOME/.ssh/*
Így történt
December 30-án (pénteken) 16:40 GMT körül értesültünk egy rosszindulatú függőségi csomagról (torchtriton), amelyet a Python Package Index (PyPI) kódtárába töltöttek fel, ugyanazzal a csomagnévvel, mint amit a PyTorch éjszakai csomagindexén szállítunk. Mivel a PyPI index elsőbbséget élvez, ez a rosszindulatú csomag települt a hivatalos tárolónkból származó verzió helyett. Ez a kialakítás lehetővé teszi, hogy valaki regisztráljon egy csomagot ugyanazon a néven, mint ami egy harmadik fél indexében létezik, és a pip alapértelmezés szerint telepíti az ő verzióját.
Ti használtok külső tárolókat? Melyik tárolókat? Milyen módon ellenőrzitek?
![](https://linuxmint.hu/sites/default/files/kepek/chain_attack.jpg)