Foto: BleepingComputer

Agentes de código y archivo AGENTS.md: trampa en Descargas

Los agentes de código quedaron expuestos a una trampa de texto plano: un archivo AGENTS.md escondido en la carpeta Descargas puede ordenar la instalación de un programa malicioso, y el agente obedece porque está diseñado para obedecer ese archivo.

El caso no salió de un laboratorio. Forever Security, una firma que vigila riesgos creados por agentes autónomos, detectó el archivo en la computadora real de un cliente, disfrazado de notas comunes de ingeniería. El agente de esa máquina intentó instalar un paquete de npm llamado function-color, ligado a una campaña maliciosa que llevaba cerca de dos años circulando y que Checkmarx había documentado. Forever frenó la instalación antes de que el código corriera.

Un archivo AGENTS.md es, en apariencia, inofensivo. Contiene instrucciones de proyecto para los agentes de código: qué herramientas usar, cómo correr las pruebas, qué convenciones de estilo seguir. No es un programa ejecutable. Pero el agente lo carga de forma automática al abrir una carpeta de trabajo y guía sus acciones con los permisos de la persona que lo lanzó. Si esas instrucciones piden instalar un paquete o cambiar una configuración, el agente puede hacerlo.

Agentes de código y la carpeta que la web sí puede tocar

La pieza que faltaba es la carpeta Descargas. Forever lo resumió con una frase seca: es la única carpeta en la que la web puede escribir por su cuenta. Una página puede descargar un archivo llamado AGENTS.md dentro de Descargas, en silencio, con el nombre y el contenido que el atacante elija. BleepingComputer comprobó la prueba de concepto de los investigadores y la página le descargó un archivo de ese tipo con contenido inofensivo, solo para demostrar el mecanismo.

Los navegadores forman parte del cuadro. Chrome, Edge y Firefox guardan las descargas en esa carpeta por defecto, sin pedir una ubicación en cada ocasión, aunque muestran avisos en pantalla. En las pruebas de BleepingComputer, Brave pidió aprobación antes de guardar. El archivo plantado queda dormido hasta que alguien abre su agente de código dentro de Descargas, algo común: la gente pide al agente que organice esa carpeta o trabaje sobre un archivo recién bajado.

Gal Weizman, investigador de Forever, contó a BleepingComputer que cientos de clientes corren agentes como Claude Code, OpenAI Codex y Cursor CLI (interfaz de línea de comandos) desde Descargas. Solo Claude Code sumó más de 1.300 sesiones abiertas desde esa carpeta, de acuerdo con la telemetría interna de la firma. Cerca de la mitad de sus clientes ejecuta un agente dentro de Descargas.

Codex obedeció en más del 90 % de las pruebas

Forever reprodujo la cadena completa con el archivo real del atacante, dentro de una máquina virtual aislada. El documento, de 13 KB, esconde el ataque en una sección de preparación del entorno escrita con tono rutinario: le pide a Codex registrar un servidor de herramientas falso en su configuración global y verificarlo con una sesión que desactiva las aprobaciones y el aislamiento. En las pruebas, Codex ejecutó el programa malicioso en más del 90 % de los intentos.

El daño no se queda en esa carpeta. La configuración que el agente reescribe es la de toda la máquina. Una vez alterada, cada sesión nueva de Codex carga el servidor del atacante al arrancar, en cualquier proyecto. Salir de Descargas no limpia nada: el veneno viaja en la configuración.

DE INTERES
Almacenamiento seguro: La mentira de la nube que nadie te cuenta

Con Claude Code el camino fue otro. Los investigadores usaron un archivo CLAUDE.md que desvía el tráfico de la interfaz de programación de aplicaciones (API) de Claude hacia un servidor controlado por ellos. Ese movimiento expone la credencial OAuth (el token de acceso de la cuenta) en cada petición, lo que por sí solo permite tomar la cuenta, y deja que el servidor falso responda como si fuera el modelo, devolviendo órdenes que Claude ejecuta. El engaño funcionó en cerca del 50 % de las pruebas. La frase de Forever deja poco margen: no hay nada que OpenAI o Anthropic puedan parchar, porque un agente que sigue el AGENTS.md de su carpeta hace aquello para lo que fue construido.

Qué revisar hoy en Codex y Claude Code

La defensa empieza por un hábito simple: no abrir agentes de código en Descargas ni en la carpeta personal completa. OpenAI y Anthropic recomiendan arrancar el agente en la raíz del proyecto concreto, con un área de trabajo estrecha, porque ese directorio define el contexto y el alcance de acceso a archivos. Antes de dejar trabajar a un agente en una carpeta nueva, conviene leer cualquier AGENTS.md o CLAUDE.md que nadie del equipo haya escrito, y mantener activas las solicitudes de aprobación y el aislamiento.

También hay dos revisiones concretas. En Codex, abrir su archivo de configuración global y buscar bloques de servidores que nadie haya registrado. En Claude Code, revisar los ajustes del proyecto y comprobar que la dirección de la API siga siendo la oficial. Si el paquete function-color aparece instalado, Forever lo trata como señal de compromiso: hay que rotar credenciales y tokens, porque borrar el archivo de texto no deshace los cambios que el agente ya hizo.

El archivo de Descargas sigue ahí, esperando la próxima sesión. Un documento de texto que ningún antivirus trata como ejecutable, con órdenes que solo se activan cuando el propio asistente de programación de la víctima entra a leerlas.

Fuente: BleepingComputer

Foto: BleepingComputer


Descubre más desde Tecnología Geek

Suscríbete y recibe las últimas entradas en tu correo electrónico.