Studiuesit e GitGuardian kanë publikuar rezultatet e analizës së tyre të të dhënave konfidenciale të lëna nga zhvilluesit në kodin e vendosur në depo Python Package Index (PyPI). Pas shqyrtimit të mbi 9.5 milionë skedarëve dhe 5 milionë publikimeve të paketave të lidhura me 450 projekte, ata identifikuan 56866 rrjedhje të të dhënave konfidenciale. Duke marrë parasysh vetëm të dhënat unike, duke përjashtuar dyfishimin nëpër publikime, numri i rrjedhjeve të identifikuara ishte 3938, dhe numri i projekteve që përmbanin të paktën një rrjedhje ishte 2922.
Në total, u identifikuan mbi 150 lloje rrjedhjesh informacioni konfidencial, duke përfshirë fjalëkalime të zakonshme, çelësa kriptografikë, tokena aksesi për shërbimet cloud, sisteme integrimi të vazhdueshëm dhe API. Të paktën 768 kredenciale mbetën të vlefshme në kohën e studimit. Shembuj të rrjedhjeve të zakonshme që mbeten të vlefshme përfshijnë çelësat e aksesit të Azure Active Directory, kredencialet SSH, MongoDB, MySQL dhe PostgreSQL, çelësat GitHub OAuth App, Dropbox dhe Auth0, si dhe kredencialet e hyrjes në Coinbase dhe Twilio.
Ndër llojet gjithnjë e më të zakonshme të rrjedhjeve të të dhënave, janë përmendur tokenët e aksesit të robotëve të Telegramit, me numrin e të cilëve është dyfishuar në fillim të vitit 2021 dhe më pas është dyfishuar përsëri në pranverën e vitit 2023. Një rritje e vazhdueshme e rrjedhjeve të të dhënave është regjistruar gjithashtu për çelësat e aksesit të API-t të Google që nga viti 2020, dhe për kredencialet e sistemit të menaxhimit të bazës së të dhënave që nga viti 2022. Ndër paketat që rrjedhën më shpesh, u përmendën paketat chatllm dhe safire, me 209 çelësa OpenAI dhe 320 çelësa Google Cloud që rrjedhën.
Përveç skedarëve me prapashtesën ".py", llojet e skedarëve me më shumë rrjedhje përfshinin .json (610 rrjedhje), .md (270), PKG-INFO (240), METADATA (210), .txt (170), skedarët README (209) dhe skedarët nga drejtoritë me emrin test (675). Shumë rrjedhje ishin gjithashtu për shkak të mbikëqyrjeve dhe gabimeve në cilësimet e përjashtimit të skedarëve gjatë krijimit të paketave. Për shembull, skedarët me skedarë konfigurimi lokalë (.cookiecutterrc, .env, .pypirc, etj.) mund të përjashtohen nga një depo Git nëpërmjet skedarit ".gitignore", i cili nuk merret parasysh kur krijohet një paketë. Në veçanti, 43 skedarë .pypirc u gjetën në depo, që përmbanin kredenciale për qasje në PyPI. Në 15 raste rrjedhjesh, zhvilluesit nuk kishin ndërmend të publikonin paketat e krijuara fillimisht për përdorim të brendshëm, por i publikuan ato në PyPI gabimisht.
Përveç kësaj, ia vlen të përmenden dy ngjarje të tjera që lidhen me PyPI-n:
- Tetë paketa keqdashëse u zbuluan në depon PyPI, të cilat pretendonin të ishin mjete për errësimin e kodit ose errësimin e kodit, duke e bërë të vështirë rindërtimin e algoritmit themelor. Paketat e zbuluara përmbanin vargun "pyobf" në emrat e tyre (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse dhe pyobfgood) dhe ishin shkarkuar mbi 2000 herë.
Kodi keqdashës i integruar në paketa ishte specifik për platformën Windows dhe lejoi lidhjen me një kontroll të jashtëm server, ekzekutojnë komanda arbitrare në kompjuterin e zhvilluesit, gjejnë dhe dërgojnë informacione të ndjeshme, siç janë çelësat e qasjes, në një server të jashtëm dhe transferojnë skedarë arbitrarë nga sistemi. Për më tepër, kodi keqdashës mund të veprojë si një regjistrues çelësash, të ndërpresë fjalëkalimet e futura në Chrome, të krijojë pamje të ekranit, të regjistrojë audio dhe madje të kontrollojë kamerën e internetit.
- Rezultatet e një auditimi të pavarur të bazës së kodit të mjeteve të përdorura për të menaxhuar depon pypi.org dhe kornizën "kabotazh", e cila fuqizon infrastrukturën e orkestrimit të kontejnerëve, janë publikuar. Auditimi u krye me mbështetjen e organizatës jofitimprurëse OTF (Fondi i Teknologjisë së Hapur). Auditimi nuk identifikoi probleme me rëndësi të lartë dhe u gjet se kodi burimor përmbushte kërkesat themelore për kodim të sigurt. Megjithatë, u vu re mbulim i pamjaftueshëm i testimit të bazës së kodit të kabotazhit dhe u identifikuan 29 probleme, tetë prej të cilave u vlerësuan si të moderuara, gjashtë si të ulëta dhe 14 si këshilluese.
ĂĂ«shtjet mĂ« tĂ« spikatura janĂ«:
- Validimi i pamjaftueshëm i nënshkrimeve dixhitale të përdorura për të integruar PyPI me AWS SNS lejoi që njoftimet me email t'u dërgoheshin përdoruesve individualë.
- Një rrjedhje informacioni në trajtuesin e shkarkimeve lejon që ekzistenca e një llogarie të përcaktohet pa gjeneruar ngjarje të ngjarjes së hyrjes.
- Përdorimi i hash-eve të dobëta kriptografike që nuk përjashtojnë sulmet e helmimit të memorjes cache.
- Me lejen për të ekzekutuar proceset e ndërtimit nëpërmjet kabotazhit, një sulmues mund të arrijë zëvendësimin e komandës.
- Me të drejtat e vendosjes në kabotazh, një sulmues mund të vendosë potencialisht një imazh që duket legjitim.
Burimi: opennet.ru
