Zverejnené výsledky výskumu bezpečnosti izolovaného prostredia pre vykonávanie Python kódu, ktorý používa spoločnosť Google v chatbotovi Gemini. Chatbot Gemini poskytuje nástroje na generovanie kódu na základe popisu úlohy a pre jazyk Python umožňuje okamžité spustenie vytvoreného kódu, aby sa vývojár zbavil zbytočných krokov pri jeho overovaní. Kód sa spúšťa v izolovanom prostredí, ktoré je odrezané od vonkajšieho sveta a povoľuje iba vykonávanie interpretátora Python. Na určenie obsahu sandboxového prostredia vedci dosiahli spustenie kódu, ktorý využíva možnosti Python knižnice os na prehliadanie obsahu všetkých adresárov a vytváranie mapy súborového systému.
Zvláštny záujem vzbudil spustiteľný súbor /usr/bin/entry/entry_point, ktorý mal veľkosť 579 MB. Na extrakciu tohto súboru vedci vytvorili skript, ktorý postupne malými dávkami vypisoval na obrazovku obsah v Base64 formáte. Na svojej strane automatizovali zlepenie týchto fragmentov pomocou nástroja Caido a získali kópiu súboru na svojej systéme.
Na analýzu získaného spustiteľného súboru bola použitá utilita binwalk, určená na extrakciu súborov zabudovaných do firmvéru. Medzi extrahovanými údajmi sa nachádzal adresár google3, v ktorom, súdiac podľa názvov súborov, bol Python kód s rôznymi komponentmi, ktoré zabezpečovali fungovanie služby, napríklad RPC na interakciu AI modelu Gemini s vonkajšími službami Google, ako sú YouTube, Google Flights a Google Maps.


Skúmanie obsahu súborov ukázalo, že nejde o dôverný kód a bol schválený na verejný prístup službou bezpečnosti Google. Pri ďalšej analýze dumpu sa zistilo, že obsahuje proto-súbory (Protocol Buffer) so špecifikáciami vnútorných štruktúr údajov, ktoré umožňujú pochopiť nuansy výmeny údajov medzi rôznymi službami Google. Úžitok z získaných proto súborov je pochybný, pretože pred siedmimi rokmi takéto proto súbory už extrahovali iní výskumníci z Google App Engine.
Zdroj: opennet.ru
