A PyPI tárolóban körülbelül 5000 kódmaradékban hagyott titok és 8 rosszindulatú obfuszkátor került azonosításra.

A GitGuardian kutatói közzétették a fejlesztők által a Python csomagok PyPI (Python Package Index) tárolójában elfelejtett, bizalmas adatok elemzésének eredményeit. Több mint 9,5 millió fájl és 5 millió csomagkiadás, összesen 450 ezer projektet vizsgálva, 56866 bizalmas adat kiszivárgását tárták fel. Ha csak az egyedi adatokat vesszük figyelembe, anélkül, hogy különböző kiadásokban ismétlődnének, a kiszivárgások száma 3938-ra, a projektek száma, amelyekben legalább egy kiszivárgás előfordult, pedig 2922-re rúg.

Összesen több mint 150 fajtát azonosítottak a bizalmas információk kiszivárgásából, többek között szokásos jelszavakat, kriptográfiai kulcsokat, hozzáférési tokeneket felhőszolgáltatásokhoz, folyamatos integrációs rendszerekhez és API-hoz. Legalább 768 hitelesítő adat volt érvényes a kutatás idején. A népszerű, folyamatosan releváns kiszivárgások példái között említik az Azure Active Directoryhoz való hozzáférési kulcsokat, SSH-titkokat, MongoDB, MySQL és PostgreSQL hitelesítő adatokat, GitHub OAuth App, Dropbox és Auth0 hozzáférési kulcsokat, valamint a Coinbase és Twilio bejelentkezési paramétereit.

A népszerűséget nyerő kiszivárgási típusok közül említést nyernek a Telegram botok hozzáférési tokenjei, amelyek száma 2021 elején megduplázódott, majd 2023 tavaszán ismét megduplázódott. A kiszivárgások folyamatos növekedését is megfigyelték 2020 óta a Google API hozzáférési kulcsok esetében, míg 2022 óta az adatbázisokhoz tartozó hitelesítő adatoknál. A kiszivárgások számát tekintve a legnagyobb számú hibát felmutató csomagok között említést nyernek a chatllm és safire csomagok, amelyekben 209 OpenAI kulcsot és 320 Google Cloud kulcsot felejtettek el.

A legnagyobb számú kiszivárgást mutató fájltípusok közül a .py kiterjesztésű fájlok mellett említést nyernek a .json (610 kiszivárgás), .md (270), PKG-INFO (240), METADATA (210), .txt (170) fájlok, valamint a README fájlok (209) és a test nevű mappákból származó fájlok (675). Számos kiszivárgás is a figyelmetlenséggel és a csomagok létrehozásakor a fájlok kivételi beállításaival kapcsolatos hibákkal hozható összefüggésbe. Például a helyi konfigurációs fájlok (.cookiecutterrc, .env, .pypirc stb.) a „.gitignore” fájl segítségével ki lehet zárni a Git tárolóból, ami nem kerül figyelembevételre a csomag létrehozásakor. Különösen a tárolóban 43 db .pypirc fájlt találtak, amelyek hitelesítő adatokat tartalmaztak a PyPI-hoz való hozzáféréshez. 15 esetben a fejlesztők nem terveztek nyilvánosan csomagokat közzétenni, amelyek eredetileg belső használatra készültek, de tévedésből közzétették őket a PyPI-n.

További két eseményt is érdemes megemlíteni, amelyek a PyPI-hez kapcsolódnak:

  • A PyPI-tárban nyolc rosszindulatú csomagot azonosítottak, amelyeket obfuszkáló segédprogramokként prezentáltak, tehát a kódok olvashatatlan formába hozó eszközökként, amelyek megnehezítik az algoritmus visszafejtését. Az azonosított csomagok neveiben szerepelt a "pyobf" kifejezés (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse és pyobfgood), és több mint 2000 alkalommal töltötték le őket.

    A csomagokba integrált rosszindulatú kód a Windows platformra volt specifikálva, és lehetővé tette a külső irányítóhoz való kapcsolódást, szerverhez, tetszőleges parancsok futtatását a fejlesztő számítógépén, érzékeny információk, például hozzáférési kulcsok keresését és külső szerverre való elküldését, valamint tetszőleges fájlok átvitelét a rendszerről. Ezen kívül a rosszindulatú kód képes volt billentyűleütések rögzítésére, a Chrome-ba beírt jelszavak elfogására, képernyőképek készítésére, hang felvételére és még a webkamera irányítására is.

  • Közleményben tették közzé a pypi.org tároló működtetésére használt eszközkészlet kódalapjának független auditjának eredményeit és a konténerek irányítására használt "cabotage" keretrendszert. Az auditot az OTF (Open Technology Fund) non-profit szervezet támogatásával végezték el. Az audit során nem azonosítottak magas kockázatú problémákat, és a forráskódok megfelelt a biztonságos kódírás alapvető követelményeinek. Ugyanakkor megjegyezték a cabotage kódalap tesztelésének elégtelen fedettségét, és 29 problémát azonosítottak, melyek közül nyolcnak mérsékelt kockázati szintet, 6-nak alacsonyat, 14-nek pedig tájékoztató megjegyzést minősítettek.

    A legszembetűnőbb problémák:

    • A PyPI és az AWS SNS integrációjakor használt digitális aláírások ellenőrzésének hiánya lehetővé tette, hogy egyes felhasználók email értesítéseket kapjanak.
    • Információszivárgás a feltöltőfeldolgozónál, amely lehetővé tette a felhasználói fiók létezésének meghatározását a bejelentkezési kísérletek eseményeinek generálása nélkül.
    • Megbízhatatlan kriptográfiai hash-ek alkalmazása, amelyek nem zárják ki a cache-átirányításos támadásokat.
    • Ha a cabotage révén a build-processzek indítására jogosultságokat kap, a támadó potenciálisan saját parancsait illesztheti be.
    • Ha telepítési (deployment) jogokkal rendelkezik a cabotage-ban, a támadó potenciálisan egy legitimszerűen kinéző képet telepíthet.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster