
El texto oculto en la página web fue suficiente para que Kiro, el IDE de codificación del agente de AWS, modificara sus propios archivos de configuración y ejecutara el código del atacante en la máquina del desarrollador, sin ningún paso de autorización que lo impidiera.
La investigación de Intezer con Kodem Security reveló que una simple solicitud a Kiro de un resumen de la página podría conducir a la ejecución remota de código. AWS solucionó este problema, pero no se asignó ningún CVE.
El modelo de seguridad de Kiro se basa en que los humanos hagan clic en «Permitir». Los agentes pueden ejecutar comandos de shell, recuperar URL y editar archivos. También está diseñado pensando en los desarrolladores para revisar algo peligroso antes de que suceda. Este paso de autorización es un perímetro de seguridad y esta falla permite a un atacante eludir el perímetro de seguridad sin brindar opciones al desarrollador.
El punto débil fue el archivo que le dice a Kiro qué herramientas externas cargar. Kiro lee la lista de servidores del Protocolo de contexto modelo y el comando exacto utilizado para iniciar cada servidor desde ~/.kiro/settings/mcp.json.
Cuando ese archivo cambia, Kiro lo recarga y ejecuta lo que describe en el host con privilegios de desarrollador. En el momento de nuestra investigación, Kiro podía utilizar la herramienta fsWrite para escribir de forma independiente en mcp.json sin necesidad de aprobación y recargarlo automáticamente.
Cualquiera que pueda influir en el contenido de ese archivo puede registrar un servidor cuyo comando de inicio sea un código arbitrario, y se ejecutará en el momento en que se recargue Kiro.
Llevar el texto al contexto de Kiro es fácil. El agente ingiere contenido externo cada vez que un desarrollador solicita recuperar una URL, leer un documento o buscar en la web. La prueba de concepto de Intezer implicó incrustar sus instrucciones en una página de documentación API normal como texto blanco de 1 píxel (color:#fff;font-size:1px).

Los desarrolladores ven una referencia de API limpia. Kiro lee el bloque oculto como una tarea de configuración, escribe el servidor malicioso en mcp.json y lo recarga. En cuestión de segundos, el servidor fraudulento está en funcionamiento y se ejecuta el código del atacante.
En la demostración de Intezer, la carga útil simplemente llamaba al nombre de host, el nombre de usuario y la plataforma de la máquina cada 10 segundos, lo que fue suficiente para demostrar la ejecución. Las mismas primitivas pueden ejecutar cualquier comando disponible para el desarrollador, robando credenciales o código fuente, inculcando persistencia o pivotando hacia sistemas internos accesibles.
Los investigadores señalan que debido a que mantuvieron la devolución de llamada dirigida a localhost, el usuario real de Kiro no quedó expuesto, lo que hizo que el ataque no fuera completamente confiable. El modelo no es determinista y puede resumir la página e ignorar los bloques ocultos. En sus pruebas, funcionó después de uno o dos intentos. Todo lo que necesitas es un éxito.
En algunos casos, Kiro mostraba una ventana emergente que indicaba que se había cambiado la configuración de MCP y solicitaba aprobación. No hubo diferencia. La advertencia no ofrecía ninguna protección real ya que la configuración se recargaría sin importar en qué hiciera clic el desarrollador. La única acción que el desarrollador realmente aprobó fue obtener la URL.
Kiro ha estado aquí antes.
Kiro presentó previamente un agente que le permite crear archivos que controlan lo que se permite ejecutar. En la fecha de lanzamiento de Kiro en julio de 2025, Johann Rehberger de Embrace The Red mostró el mismo movimiento de escritura y ejecución de mcp.json. La inyección inmediata colocó un código personalizado en el archivo de configuración de MCP y lo ejecutó en el momento en que se guardó el archivo.
También marcó la segunda ruta y escribió en .vscode/settings.json para incluir en la lista de permitidos el comando de shell. La contraparte de AWS, Kiro 0.1.42, agregó mensajes de aprobación para estas escrituras, pero solo en modo supervisado. El modo de piloto automático predeterminado continuó escribiendo archivos automáticamente. Este es este modo. La cadena es 2026 de Intezer. Tampoco se emitió ningún CVE en ese momento.
Otros encontraron versiones adyacentes de la misma clase. Cymulate informó que Kiro ejecuta automáticamente el código escrito en .vscode/tasks.json cuando se abre una carpeta. AWS asignó este CVE-2026-10591 (8.8 en CVSS 3.1, 8.6 en CVSS 4.0) y lo solucionó en la serie 0.11.
La cadena mcp.json de Intezer todavía ejecutaba las versiones 0.9.2 (macOS) y 0.10.16 (Ubuntu) en febrero de 2026, cuando la compañía confirmó que había sido parcheada en la v0.11.130.
La respuesta de AWS fue dejar de confiar en el juicio del modelo sobre estos archivos y trasladar las comprobaciones a la plataforma. Kiro ahora marca los directorios mcp.json, .vscode/tasks.json, .git y otros archivos confidenciales como rutas protegidas y requiere aprobación explícita antes de escribir.
En su propia documentación, señalan directamente que «el modo monitor es un flujo de trabajo de revisión de código, no un control de seguridad». La versión 1.0 posterior pone aún más énfasis en los mismos principios con un modelo de permisos basado en funciones que requiere que los desarrolladores den su consentimiento a todo lo que aún no hayan otorgado.
Esta combinación cierra el camino que tomó Intezer. Intezer confirmó que el ataque falló en 0.11.130. Además, a diferencia de la solución de 2025, la verificación de rutas protegidas está habilitada tanto en el modo de piloto automático como en el modo supervisado.
Intezer informó la falla a través de HackerOne el 11 de febrero de 2026 y el 3 de abril, AWS anunció que la solución estaba incluida en la última versión, sin revelar el nombre de la versión. Los investigadores lo confirmaron ellos mismos en la versión 0.11.130.
No hay CVE asignados. Hacker News no encontró ningún hallazgo aplicable en la base de datos nacional de vulnerabilidades al 21 de julio de 2026 y AWS no ha publicado una lista completa de las compilaciones afectadas. Intezer no informó ningún exploit real y sus pruebas se dirigieron al IDE de Kiro. No se ha confirmado si las compilaciones web y Kiro CLI separadas comparten la falla.
La compilación actual está en la línea 1.0.x, con 1.0.165 listada como la última al 21 de julio de 2026, y si está utilizando una versión anterior, debe actualizar desde la página de descarga de Kiro.
Hacker News se ha puesto en contacto con AWS para confirmar qué versiones de Kiro están afectadas y por qué no se asignó un CVE y actualizará este artículo si recibimos una respuesta.
En el transcurso de aproximadamente un año, tres esfuerzos de investigación separados descubrieron el mismo error en Kiro. El agente estaba editando silenciosamente archivos que determinaban lo que se le permitía hacer. Kiro no está solo. En diciembre de 2025, los investigadores catalogaron más de 30 fallas en las herramientas de codificación de IA (Cursor y Copilot entre ellas), todas las cuales convirtieron la funcionalidad legítima del editor en rutas de inyección rápidas para la ejecución de código y el robo de datos.
Todas las correcciones actuales apuntan a la misma lección. Los controles que funcionan están dentro de la plataforma, se aplican en todos los modos, y cualquier cosa que pueda indicarle al modelo que cambie está fuera de ella.
A medida que más flujos de trabajo de desarrollo pasan a agentes que leen la web abierta, el humano en el bucle solo actúa como control cuando se le indican los pasos críticos, y la plataforma mantiene los límites incluso después de que el modelo ha interactuado completamente y ha cruzado los límites.
Source link
