Ongeveer 5000 achtergelaten geheimen en 8 kwaadaardige obfuscators zijn gevonden in de PyPI-repository

Onderzoekers van GitGuardian hebben de resultaten gepubliceerd van hun analyse van gevoelige gegevens die door ontwikkelaars zijn vergeten in code die is geplaatst in de Python-pakkettenrepository PyPI (Python Package Index). Na het bestuderen van meer dan 9,5 miljoen bestanden en 5 miljoen releases van pakketten, gerelateerd aan 450.000 projecten, zijn er 56.866 gevallen van datalekken vastgesteld. Als we alleen unieke gegevens beschouwen, zonder duplicatie in verschillende releases, was het aantal gedetecteerde datalekken 3.938, en het aantal projecten waarin zich ten minste ƩƩn datalek bevond, was 2.922.

In totaal zijn er meer dan 150 typen datalekken van gevoelige informatie vastgesteld, waaronder gewone wachtwoorden, cryptografische sleutels, toegangstokens voor cloudservices, systemen voor continue integratie en API's. Minstens 768 inloggegevens waren actief op het moment van het onderzoek. Voorbeelden van populaire lekken die relevant blijven, zijn toegangssleutels voor Azure Active Directory, inloggegevens voor SSH, MongoDB, MySQL en PostgreSQL, sleutels voor GitHub OAuth App, Dropbox en Auth0, evenals inloggegevens voor Coinbase en Twilio.

Onder de opkomende typen datalekken worden toegangstokens voor bots in Telegram genoemd, waarvan het aantal zich in het begin van 2021 verdubbelde en in het voorjaar van 2023 opnieuw verdubbelde. Sinds 2020 is er ook een constante groei van lekken van toegangssleutels voor Google API's, en sinds 2022 van inloggegevens voor databases. Van de pakketten met het hoogste aantal lekken, worden de pakketten chatllm en safire genoemd, waarin 209 sleutels voor OpenAI en 320 sleutels voor Google Cloud zijn vergeten.

Onder de bestandstypen waarin het grootste aantal lekken is vastgesteld, naast bestanden met de extensie '.py', worden bestanden met de extensie .json (610 lekken), .md (270), PKG-INFO (240), METADATA (210), .txt (170), evenals README-bestanden (209) en bestanden uit mappen met de naam test (675) opgemerkt. Veel lekken zijn ook gerelateerd aan nalatigheid en fouten bij het uitsluiten van bestanden bij het maken van pakketten. Bijvoorbeeld, bestanden met lokale configuratiebestanden (.cookiecutterrc, .env, .pypirc, enz.) kunnen worden uitgesloten van de Git-repository via het bestand '.gitignore', dat niet wordt meegenomen bij het creƫren van een pakket. Concreet werden er 43 .pypirc-bestanden in de repository gevonden, met inloggegevens voor toegang tot PyPI. In 15 gevallen waren de ontwikkelaars niet van plan om pakketten publiekelijk te publiceren, die oorspronkelijk voor intern gebruik waren gemaakt, maar publiceerden ze per ongeluk op PyPI.

Daarnaast kunnen nog twee gebeurtenissen met PyPI worden vermeld:

  • In de PyPI-repository zijn 8 kwaadaardige pakketten ontdekt die worden gepresenteerd als hulpprogramma's voor obfuscatie, dat wil zeggen het onleesbaar maken van code, waardoor het moeilijker wordt om het werkingsalgoritme te herstellen. De aangetroffen pakketten bevatten in hun namen de term "pyobf" (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse en pyobfgood) en zijn meer dan 2000 keer gedownload.

    De geĆÆntegreerde kwaadaardige code was specifiek voor het Windows-platform en maakte verbinding met een externe beheerder server, kon willekeurige commando's op de computer van de ontwikkelaar uitvoeren, vertrouwelijke informatie zoals toegangssleutels vinden en naar een externe server verzenden, evenals willekeurige bestanden van het systeem overdragen. Bovendien kon de kwaadaardige code functioneren als een keylogger, de in Chrome ingevoerde wachtwoorden onderscheppen, schermafbeeldingen maken, geluid opnemen en zelfs de webcam bedienen.

  • De resultaten van een onafhankelijke audit van de codebasis van de tools die worden gebruikt voor het beheer van de repository pypi.org en het "cabotage"-framework, dat betrokken is bij de infrastructuur voor de orkestratie van containers, zijn gepubliceerd. De audit is uitgevoerd met de steun van de niet-gouvernementele organisatie OTF (Open Technology Fund). Tijdens de audit werden er geen problemen van hoog risico gevonden, en de broncodes werden erkend als in overeenstemming met de basisvereisten voor veilige code. Er werd echter opgemerkt dat de testdekking van de codebasis cabotage onvoldoende was en 29 problemen werden ontdekt, waarvan acht een gematigd risico hadden, 6 een laag risico en 14 gemarkeerd waren als informatieve opmerkingen.

    De meest opvallende problemen:

    • Onvoldoende controle van digitale handtekeningen, die werden gebruikt voor de integratie van PyPI met AWS SNS, maakte het mogelijk om meldingen naar de e-mail van individuele gebruikers te versturen.
    • Gegevenslek in de uploadhandler, die het mogelijk maakte om het bestaan van een account te bepalen zonder dat er gebeurtenismeldingen over inlogpogingen werden gegenereerd.
    • Gebruik van onbetrouwbare cryptografische hashes die cache-bestoken aanvallen niet uitsluiten.
    • Bij het hebben van rechten om buildprocessen via cabotage uit te voeren, kon een aanvaller potentieel zijn commando's injecteren.
    • Bij het hebben van distributierechten (deployment) in cabotage, kon een aanvaller potentieel een legitiem uitziend beeld implementeren.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster