2 puntos por GN⁺ 2025-03-29 | 1 comentarios | Compartir por WhatsApp
  • Google organiza eventos bugSWAT de red-teaming anticipado para reforzar la seguridad de la IA, dando a investigadores la oportunidad de probar a fondo sus sistemas de IA
  • El equipo que ganó $50,000 en 2023 volvió a encontrar una nueva vulnerabilidad en Gemini y obtuvo el título de Most Valuable Hacker (MVH)
  • El equipo de hackers recibió de Google acceso y documentación sobre una nueva función en vista previa de Gemini para evaluarla desde la perspectiva de seguridad
    • Al pedir código en Python con un prompt simple, aparecía el botón “Run in Sandbox”
    • El entorno sandbox de Gemini es un entorno seguro de ejecución de Python diseñado sobre gVisor y GRTE de Google
  • gVisor es un kernel en espacio de usuario creado por Google que refuerza la seguridad interceptando llamadas al sistema
    • El entorno sandbox está completamente aislado y escapar de él es muy difícil
    • Aun así, en algunos casos es posible filtrar datos desde dentro del sandbox
  • Descubrieron que el sandbox ofrecía la librería os y escribieron código en Python para explorar el sistema de archivos
    • Encontraron un archivo binario de 579 MB en /usr/bin/entry/entry_point
  • Como imprimir directamente el binario en base64 hacía que el sandbox se cayera, lo dividieron en bloques de 10 MB para mostrarlo
    • Usaron una herramienta llamada Caido para recolectar automáticamente todos los fragmentos y reconstruirlos en local
    • Tras analizarlo con los comandos file, strings y binwalk, quedaron expuestos la estructura interna y rutas internas de Google
  • El análisis con binwalk reveló un directorio google3 con código fuente interno en Python
    • Dentro del directorio assistant había código relacionado con RPC mediante el cual Gemini interactúa con servicios de Google como YouTube y Flights
    • Había cadenas destinadas a impedir el volcado de ciertos scripts, pero el equipo de seguridad de Google revisó previamente ese código y consideró que podía divulgarse

Análisis de la lógica principal del sandbox

  • Las llamadas a servicios de Google están implementadas en clases específicas escritas en Python
    • Por ejemplo, _set_reader_and_writer y run_tool se comunican con servicios de Google mediante descriptores de archivo
    • Dentro del binario se pueden construir mensajes directamente a partir de esquemas protobuf y realizar llamadas a herramientas
  • Basándose en el paper ReAct, Google implementó Gemini para que genere prompts internamente varias veces y planifique por sí mismo al resolver problemas complejos
    • Por ejemplo, si el usuario pregunta “¿Horario de vuelos Toronto → New York?”, Gemini selecciona herramientas y busca datos a través de varias etapas
    • Aprovechando esa lógica, intentaron una inyección de prompts para crear un sandbox con privilegios más altos
  • Algunos sandboxes pueden acceder a extensiones de Google, como APIs RPC
    • Las extensiones se invocan mediante FD siempre abiertos, y abusar de ellos podría permitir un acceso de mayor nivel al sistema
    • Confirmaron que era posible acceder a un sandbox avanzado bajo ciertas condiciones, como en la etapa en que Gemini elabora un plan

Filtración de archivos proto sensibles

  • Los archivos Protocol Buffer (proto) se usan para definir datos entre sistemas y contienen información sensible sobre la estructura del sistema
    • Después de ejecutar strings entry_point > stringsoutput.txt, al buscar la cadena “Dogfood” quedaron expuestas numerosas rutas de proto sensibles
    • Ejemplo: privacy/data_governance/attributes/proto/classification.proto → archivo que define cómo Google clasifica los datos de los usuarios
  • Con el comando cat stringsoutput.txt | grep '.proto' | grep 'security' quedó expuesta una larga lista de archivos proto sensibles relacionados con seguridad
    • Ejemplos: security/thinmint/proto/core/thinmint_core.proto, security/credentials/proto/authenticator.proto, entre otros

¿Por qué estaban esos archivos ahí?

  • El equipo de seguridad de Google había aprobado previamente el contenido incluido en el binario del sandbox, pero un pipeline de build automatizado agregó archivos proto de seguridad innecesarios
  • Como resultado, archivos de definición interna altamente sensibles quedaron expuestos al exterior
  • Los hackers reportaron esto como una vulnerabilidad, basándose en que Google considera estos archivos como información sensible

Conclusión y retrospectiva

  • Como en los sistemas de IA interactúan muchos elementos, con frecuencia aparecen problemas de seguridad inesperados
  • Incluso un solo sandbox puede comunicarse con herramientas internas y sus privilegios pueden cambiar dinámicamente, por lo que se necesitan pruebas minuciosas
  • La colaboración con el equipo de seguridad de Google fue valiosa, y toda la experiencia fue una aventura desafiante y emocionante

1 comentarios

 
GN⁺ 2025-03-29
Comentarios de Hacker News
  • Este es el sistema en el que trabajo. Si tienen preguntas, no duden en hacerlas. Todas las opiniones son personales y no representan las de mi empleador
  • Buen artículo. No es una gran vulnerabilidad, pero el hecho de que Google lo tome en serio muestra una alta conciencia sobre seguridad
    • Mencionaron que cierta política de la empresa lo considera muy confidencial, así que puede tomarse como algo importante, pero se siente más como que “técnicamente se considera una vulnerabilidad” que como una vulnerabilidad clara
  • Estoy usando un método similar para extraer el código fuente interno de ChatGPT Code Interpreter hacia un repositorio de GitHub
    • Principalmente es útil para rastrear qué paquetes de Python están disponibles, y qué versiones tienen
  • Si fuera muy confidencial, supongo que no estaría todo subido a GitHub
  • La definición de hackeo se está volviendo cada vez más laxa. El sandbox está haciendo su trabajo y no se filtró información sensible
  • Ejecutar el comando integrado strings para extraer algunos nombres de archivos de un binario difícilmente puede considerarse hackeo/cracking
    • Irónicamente, obtener el código fuente de Gemini quizá no tenga mucho valor. Pero habría sido interesante si hubieran encontrado o accedido al corpus con el que el modelo fue preentrenado
  • Es interesante porque muestra que Google es bastante seguro. La mayoría de las empresas probablemente no lo harían tan bien
  • Esperaba una filtración, pero aun así es un hallazgo y análisis interesante
    • Hace poco me di cuenta de lo importantes que son problemas como la inyección de prompts en los LLMs
    • Como me interesaban más los LLMs personales, no le daba mucha importancia a este tipo de problemas. Pero con la aparición de Operator y Deep Research, lo entendí
    • Un agente de IA personal puede ser vulnerable a la inyección de prompts por parte de terceros cuando lee contenido de internet o ve imágenes
    • Es interesante imaginar un futuro en el que una IA personal lea desinformación en internet y termine siendo hackeada
  • Artículo muy interesante
    • Se trata de un archivo sobre categorías internas que Google usa para clasificar datos de usuarios
    • Me gustaría saber qué tipo de clasificación es. Por ejemplo, si es algo como “tiene autismo” o algo como “este es el número de teléfono del usuario”
  • Hackearon el sandbox, pero no se filtró nada. El artículo es entretenido