Avaldatud tulemused uurimisest, mille eesmärk on analüüsida isoleeritud keskkonna turvalisust Python-koodi käitamiseks, mida kasutab Google oma chatboti Gemini. Gemini chatbot pakub tööriistu koodi genereerimiseks ülesande kirjelduse järgi ning võimaldab Pythonile loodud koodi koheselt käivitada, et vabastada arendaja liigsetest toimingutest selle kontrollimise ajal. Kood käivitatakse isoleeritud keskkonnas, mis on välja lõigatud välistest allikatest ja lubab ainult Python'i tõlgendi täitmist. Keskkonna koostisosade kindlaksmääramiseks suutsid uurijad käivitada koodi, mis kasutas Python'i osakest os, et skaneerida kõiki katalooge ja luua failisüsteemi kaart.
Erilist huvi tekitas täitmisfail /usr/bin/entry/entry_point, mille suurus oli 579 MB. Selle faili hankimiseks lõid uurijad skripti, mis edastas sisu järjest väikeste osade kaupa Base64 formaadis. Nad automatiseerisid andmeosade kleepimise Caido tööriistade abil ja said oma süsteemis faili koopia.
Hankitud täitmisfaili analüüsimiseks kasutati utiliiti binwalk, mis on mõeldud failide ekstraheerimiseks, mis on sisseehitatud püsivara. Ekstraheeritud andmete seas oli kataloog google3, kusfailinimede põhjal oli Python'i kood erinevate komponentidega teenuse töö tagamiseks, näiteks RPC, et suhelda AI mudeli Gemini ja erinevate Google'i teenustega, nagu YouTube, Google Flights ja Google Maps.


Failide sisu uurimine näitas, et tegemist ei ole konfidentsiaalse koodiga ja see on Google'i turvateenistuse poolt avalikku kasutusse lubatud. Edasi uurimus paljastas, et dumpis olid proto-failid (Protocol Buffer), millel on spetsiifikad sisemiste andmestruktuuride kohta, mis võimaldavad mõista andmeedastuse üksikasju erinevate Google'i teenuste vahel. Avatud proto-failide kogumise kasu on küsitav, kuna seitse aastat tagasi olid sarnased proto-failid juba teiste uurijate poolt Google App Engine'ist ekstraheeritud.
Allikas: opennet.ru
