Byly zveřejněny výsledky studie o zabezpečení izolovaných prostředí pro spouštění Python kódu, který používá společnost Google v chatbotu Gemini. Chatbot Gemini poskytuje nástroje pro generování kódu na základě popisu úkolu a pro jazyk Python umožňuje okamžité spuštění vytvořeného kódu, čímž zbavuje vývojáře nadbytečné činnosti při jeho kontrole. Kód je spuštěn v izolovaném prostředí, které je odřízlé od vnějšího světa a povoluje pouze provádění Python interpretátoru. Pro určení obsahu sandboxového prostředí se výzkumníkům podařilo spustit kód, který využívá možnosti Python knihovny os k procházení obsahu všech adresářů a vytvoření mapy souborového systému.
Zvláštní zájem vzbudil spustitelný soubor /usr/bin/entry/entry_point, který zabíral 579 MB. Aby tým získal tento soubor, vytvořili výzkumníci skript, který postupně zobrazoval obsah v base64 formátu po malých kusech. Na své straně automatizovali spojování těchto fragmentů pomocí nástroje Caido a získali kopii souboru na svém systému.
Pro analýzu získaného spustitelného souboru byla použita utilita binwalk, určená k extrakci souborů zabudovaných ve firmwaru. Mezi extrahovanými daty byl nalezen adresář google3, ve kterém, soudě podle názvů souborů, byl Python kód s různými komponenty pro zajištění fungování služby, například RPC pro interakci AI modelu Gemini s externími službami Google, jako jsou YouTube, Google Flights a Google Maps.


Studium obsahu souborů ukázalo, že se nejedná o důvěrný kód a byl schválen k veřejnému přístupu bezpečnostní službou Google. Další analýza dumpu přitom odhalila přítomnost proto-souborů (Protocol Buffer) se specifikacemi vnitřních strukturovaných dat, které umožňují porozumět nuancím výměny dat mezi různými službami Google. Užitečnost získaných proto-souborů je však sporná, neboť před sedmi lety již podobné proto-soubory extrahovali jiní výzkumníci ze služby Google App Engine.
Zdroj: opennet.ru
