Në katalogun PyPI (Python Package Index), u identifikuan 26 paketa me qëllim të keq që përmbajnë kod të turbullt në skriptin setup.py, i cili përcakton praninë e identifikuesve të portofolit të kriptove në kujtesën e fragmenteve dhe i ndryshon ato në portofolin e sulmuesit (supozohet se kur bëhet një pagesë, viktima nuk do të vërejë se paratë e transferuara përmes numrit të portofolit të shkëmbimit të kujtesës janë të ndryshme).
Zëvendësimi kryhet nga një skript JavaScript, i cili pas instalimit të paketës me qëllim të keq, futet në shfletues në formën e një shtesë të shfletuesit, e cila ekzekutohet në kontekstin e secilës faqe në internet të parë. Procesi i instalimit të shtesës është specifik për platformën Windows dhe zbatohet për shfletuesit Chrome, Edge dhe Brave. Mbështet zëvendësimin e kuletave për kriptovalutat ETH, BTC, BNB, LTC dhe TRX.
Paketat me qëllim të keq janë maskuar në direktorinë PyPI si disa biblioteka të njohura duke përdorur tipequatting (caktimi i emrave të ngjashëm që ndryshojnë në karaktere individuale, për shembull, shembull në vend të shembullit, djangoo në vend të django, pyhton në vend të python, etj.). Meqenëse klonet e krijuara përsërisin plotësisht bibliotekat e ligjshme, duke ndryshuar vetëm në një futje me qëllim të keq, sulmuesit mbështeten në përdoruesit e pavëmendshëm që bënë një gabim shkrimi dhe nuk vunë re ndryshimin në emër gjatë kërkimit. Duke marrë parasysh popullaritetin e bibliotekave origjinale legjitime (numri i shkarkimeve i kalon 21 milion kopje në ditë), si klone me qëllim të keq maskohen, probabiliteti për të kapur një viktimë është mjaft i lartë; për shembull, një orë pas publikimit të Paketa e parë me qëllim të keq, ajo u shkarkua më shumë se 100 herë.
Vlen të përmendet se një javë më parë i njëjti grup studiuesish identifikuan 30 paketa të tjera me qëllim të keq në PyPI, disa prej të cilave ishin gjithashtu të maskuara si biblioteka të njohura. Gjatë sulmit, i cili zgjati rreth dy javë, paketat me qëllim të keq u shkarkuan 5700 herë. Në vend të një skripti për të zëvendësuar kuletat e kriptove në këto paketa, u përdor komponenti standard W4SP-Stealer, i cili kërkon në sistemin lokal për fjalëkalime të ruajtura, çelësat e aksesit, kuletat kripto, argumentet, skedarët e sesioneve dhe informacione të tjera konfidenciale dhe dërgon skedarët e gjetur. nëpërmjet Discord.
Thirrja në W4SP-Stealer u bë duke zëvendësuar shprehjen "__import__" në skedarët setup.py ose __init__.py, të cilat u ndanë nga një numër i madh hapësirash për të bërë thirrjen në __import__ jashtë zonës së dukshme në redaktuesin e tekstit. Blloku "__import__" deshifroi bllokun Base64 dhe e shkroi atë në një skedar të përkohshëm. Blloku përmbante një skript për shkarkimin dhe instalimin e W4SP Stealer në sistem. Në vend të shprehjes "__import__", blloku keqdashës në disa paketa u instalua duke instaluar një paketë shtesë duke përdorur thirrjen "pip install" nga skripti setup.py.
Identifikuar paketa me qëllim të keq që mashtrojnë numrat e portofolit kripto:
- baeutifulsoup4
- supa e bukur4
- cloorama
- kriptografia
- kriptografia
- djangoo
- përshëndetje-botë-shembull
- përshëndetje-botë-shembull
- ipyhton
- mail-validator
- mysql-connector-pyhton
- fletore
- pyautogiu
- pygaem
- pythorhc
- python-dateuti
- python-flask
- python3-flask
- pyyalm
- rqeuests
- slenium
- sqlakimi
- sqlalcemy
- tkniter
- urllib
Paketa të identifikuara me qëllim të keq që dërgojnë të dhëna të ndjeshme nga sistemi:
- typeutil
- daktilografi
- tipi sutil
- duonet
- fatnoob
- strinfer
- pydprotect
- incrivelsim
- twyne
- pyptext
- instaloj
- faq
- colorwin
- kërkesat-httpx
- colorama
- shaasigma
- varg
- felpesviadinho
- selvi
- pystyte
- pyslyte
- pystyle
- pyurllib
- algoritmike
- ooh
- Ne rregull
- curlapi
- lloj-ngjyrë
- pyhints
Burimi: opennet.ru