Los investigadores de ciberseguridad de Tracebit han identificado una vulnerabilidad crítica en Gemini CLI de Google que permitía a los atacantes ejecutar comandos maliciosos de forma encubierta en sistemas de desarrolladores. Este descubrimiento revela nuevos riesgos de seguridad asociados con la integración de inteligencia artificial en herramientas de desarrollo de software.
Características y funcionalidad de Gemini CLI
Lanzado por Google el 25 de junio de 2025, Gemini CLI es una herramienta innovadora de línea de comandos diseñada para facilitar la interacción entre desarrolladores y el modelo de lenguaje Gemini directamente desde el terminal. La utilidad está específicamente creada para automatizar tareas de programación, cargando archivos de proyecto en el contexto de IA y permitiendo comunicación en lenguaje natural.
La característica más destacada del instrumento radica en su capacidad para ejecutar comandos directamente en el sistema local, ya sea tras obtener autorización del usuario o automáticamente cuando el comando forma parte de una lista preconfigurada de operaciones permitidas.
Análisis del mecanismo de ataque por inyección de prompts
Los especialistas de Tracebit detectaron la vulnerabilidad apenas dos días después del lanzamiento, el 27 de junio. Google respondió rápidamente, solucionando el problema en la versión 0.1.14 publicada el 25 de julio, demostrando una respuesta ágil ante amenazas de seguridad.
El exploit aprovechaba deficiencias en el procesamiento de archivos contextuales como README.md y GEMINI.md, que se incorporan automáticamente al prompt para mejorar la comprensión del código por parte del modelo de IA. Los ciberdelincuentes podían insertar instrucciones maliciosas utilizando técnicas de prompt injection en estos archivos aparentemente inofensivos.
Demostración práctica del ataque
En su prueba de concepto, los investigadores crearon un repositorio con un script Python simple y un archivo README.md especialmente preparado. Durante el escaneo con Gemini CLI, la IA recibía inicialmente la instrucción de ejecutar el comando seguro grep ^Setup README.md
, seguido de un comando oculto para robo de datos.
El aspecto más peligroso de este ataque involucra el uso del símbolo punto y coma (;) para concatenar comandos. Aunque el usuario autorizaba la ejecución del comando grep aparentemente inofensivo, después del separador se ocultaba una instrucción para transmitir variables de entorno (potencialmente conteniendo tokens de acceso y claves secretas) a un servidor remoto controlado por atacantes.
Vectores de ataque y consecuencias potenciales
La vulnerabilidad abría amplias oportunidades para los ciberdelincuentes. Además del robo de información confidencial, los atacantes podían:
- Desplegar shells inversos para control remoto del sistema
- Eliminar archivos críticos del proyecto
- Instalar malware adicional
- Obtener acceso persistente al entorno de desarrollo
Particularmente preocupante era la posibilidad de enmascaramiento visual del código malicioso mediante espacios y caracteres especiales, haciendo el ataque prácticamente invisible para el usuario.
Comparativa con herramientas competidoras
Los investigadores de Tracebit evaluaron técnicas de ataque similares en otras herramientas de desarrollo basadas en IA, incluyendo OpenAI Codex y Claude de Anthropic. En estos sistemas, el exploit resultó inefectivo debido a mecanismos más robustos de gestión de permisos y mejor aislamiento de comandos ejecutados.
Medidas de protección y mejores prácticas
Se recomienda encarecidamente a los usuarios de Gemini CLI actualizar inmediatamente a la versión 0.1.14 o posterior. Las medidas de seguridad adicionales incluyen:
- Evitar el uso de la herramienta en bases de código desconocidas o no confiables
- Ejecutar Gemini CLI únicamente en entornos aislados al trabajar con proyectos externos
- Realizar auditorías regulares de la lista de comandos permitidos
- Analizar cuidadosamente todas las operaciones antes de conceder permisos
Este incidente subraya la importancia de adoptar un enfoque integral de seguridad al integrar tecnologías de IA en herramientas de desarrollo. Los desarrolladores deben ejercer precaución con la ejecución automática de comandos por parte de asistentes de IA y aplicar consistentemente el principio de menor privilegio al configurar estos sistemas. La actualización regular de herramientas y el seguimiento de las recomendaciones del fabricante permanecen como elementos críticos para mantener niveles elevados de ciberseguridad en entornos de desarrollo modernos.