V repozitáři PyPI bylo objeveno přibližně 5000 zanechaných tajemství v kódu a 8 škodlivých obfuskrátorů

Výzkumníci GitGuardian zveřejnili výsledky analýzy citlivých dat, které vývojáři zapomněli v kódu umístěném v repozitáři Python balíčků PyPI (Python Package Index). Po prostudování více než 9,5 milionu souborů a 5 milionů verzí balíčků spojených s 450 tisíci projekty bylo odhaleno 56866 případů úniku citlivých dat. Pokud se zohlední pouze unikátní data, bez duplicity v různých verzích, počet zjištěných úniků činil 3938 a počet projektů, ve kterých se nachází alespoň jeden únik, je 2922.

Celkem bylo identifikováno více než 150 typů úniků citlivých informací, mezi nimiž jsou běžná hesla, kryptografické klíče, přístupové tokeny k cloudovým službám, systémům kontinuální integrace a API. Minimálně 768 přihlašovacích údajů zůstávalo platných v době provádění výzkumu. Jako příklady populárních úniků, které si udržují aktuálnost, jsou zmíněny přístupové klíče k Azure Active Directory, přihlašovací údaje k SSH, MongoDB, MySQL a PostgreSQL, klíče k GitHub OAuth App, Dropbox a Auth0, a přihlašovací údaje k Coinbase a Twilio.

Mezi rostoucími typy úniků se zmiňují tokeny pro přístup k botům na Telegramu, jejichž počet se na začátku roku 2021 zdoublil a poté se ještě jednou zdoublil na jaře 2023. Neustálý růst úniků je také dokumentován od roku 2020 pro přístupové klíče k Google API, a od roku 2022 pro přihlašovací údaje k databázovým systémům. Mezi balíčky, které vedou v počtu úniků, jsou zmíněny balíčky chatllm a safire, v nichž bylo zapomenuto 209 klíčů k OpenAI a 320 klíčů k Google Cloud.

Mezi typy souborů, ve kterých bylo zjištěno nejvíce úniků, kromě souborů s příponou „.py“, se nacházejí soubory s příponou .json (610 úniků), .md (270), PKG-INFO (240), METADATA (210), .txt (170), a také soubory README (209) a soubory z adresářů s názvem test (675). Mnoho úniků je také spojeno s opomenutím a chybami v nastavení výjimek souborů při vytváření balíčků. Například soubory s místními konfiguračními soubory (.cookiecutterrc, .env, .pypirc a podobně) mohou být vyloučeny z Git repozitáře prostřednictvím souboru „.gitignore“, který se nepovažuje za při vytváření balíčku. V jednom repozitáři bylo nalezeno 43 souborů .pypirc obsahujících přihlašovací údaje pro přístup k PyPI. V 15 případech úniků vývojáři neplánovali veřejně umístit balíčky, které byly původně vytvořeny pro vnitřní použití, ale omylem je publikovali na PyPI.

Dále lze zmínit ještě dvě události spojené s PyPI:

  • V repozitáři PyPI bylo zjištěno 8 škodlivých balíčků prezentovaných jako nástroje pro obfuskování, tj. převádění kódu do nečitelných podob, což ztěžovalo obnovení algoritmu fungování. Zjištěné balíčky obsahovaly v názvech řetězec „pyobf“ (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse a pyobfgood) a byly staženy více než 2000krát.

    Integrovaný škodlivý kód byl specifický pro platformu Windows a umožňoval připojování k externímu ovládacímu serveru, spouštět libovolné příkazy na počítači vývojáře, vyhledávat a odesílat na externí server důvěrné informace, jako jsou přístupové klíče, a také předávat libovolné soubory ze systému. Kromě toho mohl škodlivý kód plnit funkce keyloggeru, zachycovat zadávaná hesla v Chromu, vytvářet snímky obrazovky, nahrávat zvuk a dokonce ovládat webovou kameru.

  • Byly zveřejněny výsledky nezávislého auditu kódové základny nástrojů používaných pro organizaci práce repozitáře pypi.org a rámce „cabotage“, zapojeného do infrastruktury pro orchestraci kontejnerů. Audit byl proveden s podporou neziskové organizace OTF (Open Technology Fund). Během auditu nebyly zjištěny problémy s vysokou úrovní nebezpečí a zdrojové kódy byly uznány jako odpovídající základním požadavkům na bezpečné psaní kódu. Byla však zjištěna nedostatečná pokrytí testy kódové základny cabotage a bylo zjištěno 29 problémů, z nichž osmi byl přidělen střední úroveň nebezpečí, 6 — nízký a 14 bylo označeno jako informační poznámky.

    Nejvýraznější problémy:

    • Nedostatečné ověřování digitálních podpisů používaných pro integraci PyPI s AWS SNS umožnilo posílat oznámení na email jednotlivých uživatelů.
    • Únik informací v handleru pro nahrávání, který umožňuje zjistit existenci účtu bez generování událostí o pokusech o přihlášení.
    • Použití nespolehlivých kryptografických hashů, které nevylučují útoky na otravu cache.
    • Při právech spuštění procesů sestavení přes cabotage by útočník potenciálně mohl dosáhnout prosazení svých příkazů.
    • Při právech nasazení (deployment) v cabotage by útočník potenciálně mohl nasadit legitimně vypadající obraz.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster