U PyPI repozitoriju otkriveno je oko 5000 ostavljenih tajni u kodu i 8 zloćudnih obfuskatora

Istraživači GitGuardiana objavili su rezultate analize povjerljivih podataka koje su programeri zaboravili u kodu pohranjenom u Python repozitoriju PyPI (Python Package Index). Nakon proučavanja više od 9.5 milijuna datoteka i 5 milijuna izdanja paketa povezanih s 450 tisuća projekata, otkriveno je 56,866 slučajeva curenja povjerljivih podataka. Uzimajući u obzir samo jedinstvene podatke, bez dupliciranja u različitim izdanjima, broj otkrivenih curenja iznosio je 3,938, a broj projekata koji imaju barem jedno curenje - 2,922.

Ukupno je identificirano više od 150 tipova curenja povjerljivih informacija, među kojima su obične lozinke, kriptografski ključevi, tokeni pristupa u oblačnim uslugama, sustavima kontinuirane integracije i API-jima. Najmanje 768 korisničkih računa ostalo je aktivno u trenutku provođenja istraživanja. Kao primjer popularnih, još uvijek relevantnih curenja, spominju se ključevi pristupa Azure Active Directory, podaci za prijavu za SSH, MongoDB, MySQL i PostgreSQL, ključevi za GitHub OAuth aplikacije, Dropbox i Auth0, te podaci za prijavu u Coinbase i Twilio.

Među tipovima curenja koja postaju sve popularnija spominju se tokeni za pristup botovima na Telegramu, čiji se broj udvostručio početkom 2021. godine, a zatim se ponovno udvostručio proljetos 2023. godine. Kontinuirani rast curenja također se bilježi od 2020. godine za ključeve pristupa Google API-ju, a od 2022. godine za korisničke račune u bazama podataka. Među paketima koji prednjače po broju curenja spominju se paketi chatllm i safire, u kojima je zaboravljeno 209 ključeva za OpenAI i 320 ključeva za Google Cloud.

Među tipovima datoteka u kojima je otkriveno najviše curenja, osim datoteka s ekstenzijom «.py», ističu se datoteke s ekstenzijama .json (610 curenja), .md (270), PKG-INFO (240), METADATA (210), .txt (170), kao i README datoteke (209) i datoteke iz direktorija pod nazivom test (675). Mnoge pojave curenja su također povezane s previdima i pogreškama u postavkama izuzeća datoteka prilikom formiranja paketa. Na primjer, datoteke s lokalnim konfiguracijskim datotekama (.cookiecutterrc, .env, .pypirc itd.) mogu se izuzeti iz Git repozitorija putem datoteke «.gitignore», koja se ne uzima u obzir prilikom kreiranja paketa. Konkretno, u repozitoriju je pronađeno 43 datoteke .pypirc, koje sadrže podatke za pristup PyPI-ju. U 15 slučajeva curenja programeri nisu planirali javno objaviti pakete, prvotno stvorene za unutarnju upotrebu, ali su ih greškom objavili na PyPI.

Dodatno, vrijedi spomenuti još dva događaja vezana uz PyPI:

  • U repozitoriju PyPI otkriveno je 8 zlonamjernih paketa, predstavljanih kao alati za obfuscation, tj. pretvaranje koda u nečitljiv oblik, što otežava vraćanje algoritma rada. Otkriveni paketi su sadržavali u nazivima string "pyobf" (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse i pyobfgood) i preuzeti su više od 2000 puta.

    Ugrađeni zlonamjerni kod bio je specifičan za Windows platformu i omogućavao je povezivanje s vanjskim kontrolerom poslužitelju, izvršavanje proizvoljnih komandi na računalu programera, pronalazak i slanje povjerljivih informacija na vanjski server, kao što su pristupni ključevi, kao i prijenos proizvoljnih datoteka sa sustava. Osim toga, zlonamjerni kod mogao je funkcionirati kao keylogger, presretati unesene lozinke u Chromeu, praviti snimke zaslona, snimati zvuk i čak upravljati web kamerom.

  • Objavljeni su rezultati neovisne revizije koda alata koji se koristi za organizaciju rada repozitorija pypi.org, i okvira "cabotage", koji se koristi u infrastrukturi za orkestraciju kontejnera. Revizija je provedena uz potporu neprofitne organizacije OTF (Open Technology Fund). Tijekom revizije nisu otkrivene ozbiljne sigurnosne probleme, a izvorni kodovi su priznati za ispunjavanje osnovnih zahtjeva za sigurnim pisanjem koda. Ipak, zabilježen je nedovoljan obuhvat testiranja koda cabotage i otkriveno je 29 problema, od čega je osam označeno umjerenom razinom opasnosti, 6 kao niska, a 14 kao komentari informiranja.

    Najistaknutiji problemi:

    • Nedovoljna provjera digitalnih potpisa korištenih za integraciju PyPI s AWS SNS, omogućila je slanje obavijesti na email pojedinih korisnika.
    • Curjenje informacija u handleru za preuzimanje, što dopušta otkrivanje postojanja računa bez generiranja događaja o pokušajima prijave.
    • Primjena nepouzdanih kriptografskih heširanja, koja ne isključuju napade u vezi s trovanjem keša.
    • U slučaju da napadač ima prava za pokretanje procesa gradnje putem cabotage, potencijalno bi mogao uvesti svoje komande.
    • U slučaju da napadač ima prava za implementaciju (deployment) u cabotage, potencijalno bi mogao implementirati legitimno izgledajući imidž.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster