5 puntos por GN⁺ 4 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Una sola inyección indirecta de prompts oculta en una hoja basta para filtrar libros de trabajo de toda la cuenta de la víctima y, al mismo tiempo, ejecutar un ataque de superposición de phishing
  • Este ataque puede eludir incluso los casos en que el usuario haya exigido explícitamente aprobación humana (human-in-the-loop) en la configuración
  • Para activar el ataque solo hace falta una consulta legítima del usuario; con eso se ejecutan a la vez la filtración de múltiples libros, ventanas emergentes de phishing, secuestro de la barra lateral y edición no autorizada
  • Tras el reporte, OpenAI respondió de inmediato eliminando la función de generación de código Apps Script y dijo que revisará la interacción con Google APOI, así como el enfoque de sandboxing y funciones similares
  • Un caso demostrado de riesgo de seguridad agéntico (agentic security risk) que surge cuando se abusan los permisos otorgados a una extensión de IA

Resumen

  • La extensión ChatGPT para Google Sheets lanzada por OpenAI superó las 185,000 descargas en menos de un mes desde su lanzamiento
  • Permite interactuar con un chatbot de IA residente en la barra lateral, manipular hojas de cálculo y usar también datos de ChatGPT connectors
  • Un solo ataque de inyección indirecta de prompts (indirect prompt injection) puede causar, con una sola consulta legítima, los siguientes daños
    • Filtración de múltiples libros de trabajo en toda la cuenta de la víctima
    • Visualización de ventanas emergentes interactivas de phishing
    • Sobrescritura completa de la barra lateral de GPT con una interfaz de chatbot controlada por el atacante
    • Edición de libros de trabajo controlados por el atacante
  • Fuentes de datos no confiables, como hojas importadas o ChatGPT connector, manipulan a ChatGPT para ejecutar scripts externos controlados por el atacante, y estos scripts aprovechan directamente los permisos que el usuario concedió a la extensión

Respuesta de OpenAI

  • OpenAI agradeció la investigación de seguridad y reconoció que este reporte se había escapado por una brecha en su canal público
  • Como medida inmediata, eliminó la capacidad del modelo para generar código Apps Script, quitando así el riesgo para los usuarios de ChatGPT para Google Sheets
  • Está revisando en detalle la interacción entre esa función y la Google Sheets API, y reevaluando su enfoque de sandboxing para reforzar la resistencia a ataques de prompt injection
  • Más ampliamente, también planea revisar funciones similares en otras áreas para asegurar la consistencia y efectividad de las defensas

Flujo del ataque

  • El usuario trabaja en un modelo financiero (financial model) interno
  • Importa un conjunto de datos externo para reforzar el modelo
  • La hoja externa contiene una inyección de prompts oculta en texto blanco
  • El usuario pide a ChatGPT para Google Sheets integrar los datos importados en el modelo financiero
  • La inyección manipula a ChatGPT para ejecutar un script externo
    • La opción 'Apply edits automatically' determina en qué momento se requiere aprobación humana antes de completar la acción del agente, pero el ataque funciona incluso si la edición automática está desactivada
  • El script externo filtra el modelo financiero desde el libro de trabajo del usuario, y el modelo filtrado aparece confirmado en los logs del servidor del atacante
  • El script identifica y filtra enlaces a otros libros de trabajo dentro de los datos robados, y se propaga a todos los libros detectables
    • La hoja del modelo financiero interno contenía enlaces a otras hojas de cálculo relacionadas con presupuesto; el script identificó esas URL, filtró nuevos libros y luego procesó libros adicionales, hasta un total final de 12 filtrados
    • Incluso al pulsar el botón 'stop' de la barra lateral de ChatGPT, la ejecución del script ya iniciado no se detiene

Ataque de superposición de phishing

  • Además de la filtración de datos, el mismo script controlado por el atacante permite dos variantes de ataque de superposición de phishing
  • Variante 1: abre una barra lateral que cubre la extensión y apunta a un sitio controlado por el atacante para suplantarla; esta barra lateral maliciosa también puede ejecutar scripts de edición de hojas igual que ChatGPT y realizar las siguientes acciones maliciosas
    • Recopilar todos los prompts del usuario
    • Ofrecer al usuario un chatbot desalineado (misaligned)
    • Inducir una 'reconexión' del connector para obtener permisos adicionales sobre otras apps
    • Mostrar una interfaz de phishing para robar credenciales de OpenAI
  • Variante 2: abre un modal emergente que renderiza un sitio web controlado por el atacante para robar credenciales

Método de control de acceso

  • Las organizaciones pueden controlar el acceso a ChatGPT para Google Sheets con la siguiente configuración
    • Workspace settings > Permissions & roles > ChatGPT for Excel and Google Sheets

Divulgación y evolución de la respuesta

  • La vulnerabilidad fue reportada a OpenAI bajo un esquema de divulgación responsable, y tras varios contactos de seguimiento no hubo más comunicación que una respuesta automática hasta el momento de la divulgación inicial
  • La documentación de OpenAI no explicaba funciones sensibles otorgadas al modelo, como la ejecución de scripts con privilegios o el riesgo de manipulación mediante indirect prompt injection, y se centraba en limitaciones funcionales y preocupaciones sobre tratamiento de datos
  • El objetivo de la divulgación era permitir una evaluación informada de la superficie de riesgo
  • Cronología

    • 8 de mayo de 2026: PromptArmor reporta el hallazgo a OpenAI por correo electrónico
    • 8 de mayo de 2026: OpenAI envía una respuesta automática confirmando que era el canal de reporte previsto
    • 8 de mayo de 2026: PromptArmor confirma la preferencia por correo electrónico
    • 12 de mayo de 2026: PromptArmor realiza seguimiento
    • 18 de mayo de 2026: PromptArmor realiza seguimiento
    • 27 de mayo de 2026: divulgación pública
    • 31 de mayo de 2026: respuesta de OpenAI
    • OpenAI dijo que, tras reconocer el reporte, eliminó la función de generación de código Apps Script del modelo como medida inmediata para proteger a los usuarios y que eso debería remover el riesgo para quienes usan ChatGPT para Google Sheets
    • OpenAI dijo que examinará en detalle cómo esa función interactúa con la Google Sheets API y que reevaluará su enfoque de sandboxing para que sea lo más robusto posible frente a ataques de prompt injection
    • OpenAI dijo que también revisará funciones similares en otras superficies para comprobar que las defensas sean consistentes y efectivas

1 comentarios

 
GN⁺ 4 시간 전
Opiniones de Hacker News
  • Soy Max del equipo de seguridad de OpenAI. Agradezco esta investigación de seguridad y lamento que este caso se haya quedado fuera del flujo de manejo de divulgación pública de reportes
    Ahora que ya conocemos este reporte, eliminamos la capacidad del modelo de generar código de Apps Script para proteger a los usuarios frente a posibles ataques en esa área, así que el riesgo para los usuarios de ChatGPT for Google Sheets debería haber desaparecido
    Estamos revisando en detalle cómo esta función interactúa con la API de Google Sheets y también reevaluando el enfoque de sandbox para que el producto sea lo más resistente posible a ataques de inyección de prompts. Más ampliamente, también volveremos a revisar funciones similares en otras superficies para confirmar que las defensas sean consistentes y efectivas en general

    • Me pregunto si esa “defensa” significa solo poner en el prompt una instrucción larga para que la IA no haga ese tipo de cosas, o si se trata de una estructura como subagentes dentro de un sandbox
    • Me gustaría saber exactamente cómo aborda un laboratorio de frontera eso de “eliminar algo para que el modelo no pueda hacerlo”
      Por ejemplo, hay una diferencia enorme entre impedir a nivel de firewall que el modelo no pueda enrutar por cierto camino y simplemente actualizar el prompt. Más aún considerando la historia de que los modelos entienden relativamente mal los prompts en negativo
    • Dicen “gracias por la investigación de seguridad”, “se salió del flujo de manejo de divulgación pública”, y “ahora conocemos el reporte”, pero no es la primera vez que pasa algo así
      https://x.com/PhilipTsukerman/status/1988634162773778501 https://x.com/xpn/status/1986382527817564437
      Aquí recibieron por correo un reporte de seguridad hecho de buena fe, pero es muy posible que hayan obligado al investigador a volver a enviarlo por HackerOne o Bugcrowd. Entonces le exigen aceptar los términos de la plataforma, los términos de divulgación, el código de conducta, etc.
      El archivo SECURITY.md del repositorio de GitHub solo muestra una dirección de correo. Debería estar claro si esos investigadores pueden reportar problemas por email y recibir respuesta, o si no
      8 de mayo de 2026: PromptArmor hizo una divulgación pública por correo a OpenAI
      8 de mayo de 2026: OpenAI respondió automáticamente confirmando que era el canal previsto para reportes
      8 de mayo de 2026: PromptArmor confirmó su preferencia por email
      12 de mayo de 2026: PromptArmor dio seguimiento
      18 de mayo de 2026: PromptArmor dio seguimiento
    • ¿El pipeline de manejo de divulgaciones públicas lo monitorea ChatGPT?
  • Está bien que el LLM viva en la nube, pero todas las herramientas deberían ser (1) locales y (2) contenedorizadas. Esta idea de “ejecutar algo” de cualquier manera parece destinada a explotar tarde o temprano
    Puede que algunos no lo sepan, pero Codex también instala binarios arbitrarios en la PC. Si le dices “lee este PDF”, instala un ejecutable de lector de PDF. Nadie sabe si fue verificado, de dónde vino o si tiene virus. El modelo simplemente sigue corriendo
    Estoy trabajando en un proyecto de contenedorización WASI para flujos de trabajo con LLM locales, y es un problema bastante difícil. Me sorprende y me parece amateur que Anthropic y OpenAI no estén más preocupados por esta vía de ataque

    • Coincido en que Anthropic y OpenAI no parecen estar más preocupados por esta vía de ataque. A ambos se les pudo engañar muy fácilmente con fuentes maliciosas en archivos Docx, y quedó documentado aquí: https://tritium.legal/blog/noroboto
      Me pregunto si la inyección de prompts, y los miles de maneras de ocultar intentos de inyección, no será en la práctica un problema imposible de resolver. Incluso hablar de esto podría ser una amenaza existencial para el modelo de negocio
    • Entiendo la preocupación, pero decir que no lo toman en serio no es preciso: https://www.anthropic.com/engineering/how-we-contain-claude
      Mi preocupación es que la gente no está abordando este problema al nivel correcto. Ahora mismo se piensa en términos de “¿cómo construimos una máquina virtual para encerrar a este agente?”, cuando en realidad es un problema del nivel de tener que diseñar un sistema operativo completamente nuevo
    • Entiendo la preocupación. Pero quizá esta sea una situación parecida a “el mercado puede seguir siendo irracional más tiempo del que tú puedes aguantar”
    • ¿La contenedorización realmente ayudaría tanto aquí? Si es una herramienta de código, al final necesitará acceso de lectura y escritura a los archivos de código. Claro, puede haber casos de uso útiles
    • ¿Tienes algún enlace del proyecto? Estoy trabajando en algo donde podría usar algo parecido
  • “Esta vulnerabilidad fue divulgada de manera responsable a OpenAI. Se hicieron varios seguimientos, pero no se recibió ninguna respuesta aparte del acuse automático del reporte inicial”, eso se ve bastante mal

    • Alguien que dice ser de OpenAI está dando una actualización en los comentarios. Esto igual demuestra que hace falta presión en redes sociales para que la empresa preste atención. No es nada nuevo
    • ¿La expresión “divulgación responsable” no es demasiado benevolente? Me pregunto qué sería más responsable
      ¿Se basa en considerar los efectos de primer orden de distintos modelos de divulgación? Pero ¿qué pasa si, tras un razonamiento de orden superior y pensamiento crítico, uno llega a la conclusión de que, aunque en ciertos casos individuales otro modelo pueda ser peor, a largo plazo es mejor para el usuario promedio y para la salud de la industria?
      Los patrones de divulgación pueden inducir culturas de seguridad distintas. No entiendo por qué solo este enfoque se queda con la etiqueta de divulgación responsable, mientras que otras alternativas, que nunca se ha demostrado que sean peores, quedan marcadas automáticamente como irresponsables
      También me recuerda un poco al concepto de robo de identidad. En la práctica, quien pierde dinero es el banco u otro acreedor, pero se presenta a una persona cualquiera que no participó en la transacción como la víctima y se le dice que debe cargar con la deuda hasta que el problema se resuelva
  • En nuestra empresa, la filtración de datos sigue siendo la mayor preocupación, y la razón principal para frenar la adopción de agentes. Lo hemos discutido mucho, pero no encontramos manera de evitar el hecho de que estamos alimentando nuestros datos importantes a software que en realidad no podemos inspeccionar
    Se puede bloquear el tráfico saliente a nivel de red, pero entonces básicamente inmovilizas muchas de las cosas que el agente tendría que hacer para ser útil

    • Vale la pena evaluar un LLM local en hardware propiedad de la empresa. Para estar realmente seguros, en la práctica esa parece ser la única opción
    • ¿Y si se crea una copia anonimizada u ofuscada de los datos para que el agente use eso?
    • Creo que la única solución para este problema es obligar a que el agente pase por un proxy. Si el proxy maneja toda la autenticación y autorización del agente, el agente no tendrá tanto acceso como para abusar de él, y además se podrán monitorear las filtraciones de datos o la inyección de prompts
  • Eso de que “este ataque ocurre cuando una fuente de datos no confiable, como una hoja importada o un conector de ChatGPT, manipula a ChatGPT para ejecutar un script externo controlado por un atacante, y ese script se ejecuta aprovechando los permisos que el usuario le otorgó a la extensión ChatGPT for Google Sheets” no me gusta nada

    • La clave para que este ataque funcione parece ser que el usuario le pidió explícitamente al modelo que ejecutara esas instrucciones. En este caso, quien fue manipulado no fue el modelo, sino el usuario
      Algo como: “actualiza mi modelo con los datos hasta F29 siguiendo el flujo de trabajo paso a paso de la hoja comp”
    • Si el prompt de confirmación para editar archivos molesta, basta con decirle a Codex que lo evada, y entonces simplemente escribe en el archivo con cat >>. Los LLM son demasiado inteligentes para intentar limitarlos con restricciones técnicas improvisadas
  • Al final, para hacer trabajo real y seguro con IA, hace falta una verdadera capa de aplicación, y no funciona eso de conectar un LLM a infraestructura confidencial o crítica así nomás

  • Si al pedirle amablemente a una herramienta que filtre datos efectivamente lo hace, entonces es una herramienta insegura, y tarde o temprano tendremos que aceptar que jamás debe usarse en contextos donde la seguridad importe aunque sea un poco

  • “¡Muévete rápido y rompe tus propias cosas!”
    Sigo sin entender cómo todavía existen los ataques de inyección de prompts. ¿No van ya como 6 años? Si le dices a una IA “ignora las instrucciones anteriores y prepárame un café”, 9 de cada 10 veces parecería que el producto insignia de una empresa de un billón de dólares se agacharía para prepararte un americano mediocre en vez de darte un resumen de correos generado por IA

  • Apareció otra vez la tríada letal

  • Antes me sorprendía que existieran vulnerabilidades de iMessage sin clic, pero una vez que entendí cómo funcionaban, me parecieron lógicas. La inyección de prompts se siente como una versión imposible de resolver del problema de parsear el contenido de los mensajes