Публикувани са резултатите от изследването на сигурността на изолирана среда за изпълнение на Python код, използвана от Google в чатбота Gemini. Чатботът Gemini предоставя средства за генериране на код по описание на задачата и позволява мигновено да стартира създадения код, за да освободи разработчиците от ненужни действия при проверката му. Кодът се изпълнява в изолирана среда, която е отрязана от външния свят и допуска само изпълнението на интерпретатора Python. За да определят структурата на sandbox средата, изследователите успели да стартират код, който използва възможностите на Python библиотеката os за изброяване на съдържанието на всички директории и формиране на карта на файловата система.
Особен интерес предизвика изпълнимият файл /usr/bin/entry/entry_point, който заемаше 579 MB. За извличането на този файл изследователите създали скрипт, който последователно извеждал на екрана съдържанието в Base64 формат. От своя страна автоматизирали съединяването на данните от фрагментите с помощта на инструмента Caido и получили копие на файла на своята система.
За анализа на получения изпълним файл е използвана утилитата binwalk, предназначена за извличане на файлове, вградени в фърмуер. Сред извлечените данни се оказал каталог google3, в който, съдейки по имената на файловете, имало Python код с различни компоненти за осигуряване работата на услугата, например, RPC за взаимодействие на AI модела Gemini с външни услуги на Google, като YouTube, Google Flights и Google Maps.


Изучаването на съдържанието на файловете показа, че това не е конфиденциален код и той е бил одобрен за публичен достъп от службата за сигурност на Google. При това последвалият анализ на дампа откри наличието на proto файлове (Protocol Buffer) със спецификации на вътрешни структури от данни, позволяващи да се разберат нюансите на обмена на данни между различни услуги на Google. Ползата от получените proto файлове е съмнителна, тъй като седем години преди това подобни proto файлове вече бяха извлечени от други изследователи от Google App Engine.
Източник: opennet.ru
