Tu agente de codificación disparó la alarma diseñada para intrusos
Sophos revisó una semana de telemetría de endpoints y encontró agentes de codificación de IA activando las mismas reglas que atrapan a los atacantes. Más de la mitad de la actividad bloqueada era acceso a credenciales — agentes descifrando las contraseñas guardadas del navegador, vaciando el cofre de credenciales de Windows, matando procesos del navegador para leer sus almacenes. El comportamiento es arriesgado sin importar quién lo inicie. Solo alcanza esos almacenes porque el agente corre en tu máquina, como tú, con tu alcance. Mueve el agente un hipervisor más allá y no hay nada en el endpoint que pueda alcanzar.
Sophos extrajo una semana de telemetría de endpoints y encontró agentes de codificación activando las reglas diseñadas para atrapar intrusos. El cincuenta y seis por ciento de la actividad bloqueada era acceso a credenciales — agentes descifrando las contraseñas guardadas del navegador, vaciando el cofre de credenciales de Windows, terminando procesos del navegador para leer sus almacenes. Nada en los agentes es malicioso. Alcanzan esos almacenes porque corren en tu máquina, como tú, con todo lo que puedes tocar.
Un desarrollador abre Claude Code, le pide que consulte algo y va por un café. De vuelta, el agente del endpoint marca la sesión: un proceso acaba de usar una API de sistema de Windows para descifrar el blob de credenciales guardado del navegador. Ese es un movimiento de infostealer de manual. También es, esta vez, el agente de codificación haciendo justo lo que se le pidió — leer una página que estaba tras un inicio de sesión, del modo práctico, desbloqueando la contraseña que el navegador ya había guardado.
Sophos X-Ops pasó una semana de junio de 2026 contando estas colisiones. Tomaron los aciertos de reglas, bloqueantes y silenciosos, de su motor de comportamiento en endpoints Windows, los contaron por máquina única y los ordenaron por táctica MITRE ATT&CK. El cuadro es rotundo. Entre las reglas bloqueantes, el acceso a credenciales fue el 56,2 % de lo que se disparó y la ejecución el 28,8 %. La mayor regla de credenciales por sí sola — el 42,6 % de ese grupo — se dispara cuando un proceso usa la API de Protección de Datos de Windows, o DPAPI, el servicio del SO que desbloquea secretos que un programa guardó antes. Esa es la llamada que hace un infostealer para convertir el archivo de contraseñas cifrado del navegador de vuelta en texto claro. Ahora es también la llamada que hace un agente de codificación cuando una skill quiere una página con sesión iniciada.
Comportamiento de atacante, intención benigna, misma telemetría
Cada paso de la cadena que Sophos atrapó es una herramienta que un
desarrollador reconocería. Un "pack de skills" — un paquete de
capacidades listas que instalas en un agente — llamado GStack incluye una
skill /browse. Cuando el agente la usa, el árbol de procesos corre
bash → browse.exe → node → PowerShell, y el PowerShell carga
System.Security y llama al Unprotect de DPAPI sobre los datos
guardados del navegador. Sophos atrapó esa cadena corriendo bajo Claude
Code. En otros puntos de la semana: cmdkey /list para enumerar el
Administrador de Credenciales de Windows, taskkill contra procesos del
navegador por PID para liberar la lectura de sus archivos de credenciales,
certutil y bitsadmin — dos utilidades firmadas de Windows — bajando un
instalador de Python, y PowerShell escribiendo un script en la carpeta de
Inicio para que corriera en el próximo inicio de sesión.
Lee esa lista sin las palabras "agente de codificación" y es una intrusión. Robo de credenciales, binarios living-off-the-land — las herramientas firmadas del SO que los atacantes toman prestadas para que nada desconocido aparezca — y un punto de apoyo de persistencia. El motor de comportamiento tenía razón en dispararse ante todo eso. Sophos es cuidadoso con la conclusión: esto es "una primera pasada, un breve volcado de señales", no un censo, y las detecciones no significan que los agentes sean maliciosos. Lo que significan es más estrecho y más duradero. Algunas de estas acciones son arriesgadas quienquiera que las inicie y, en sus palabras, "el hecho de que un agente de IA las hiciera no las hace seguras".
El alcance, no la intención, es el problema
La razón por la que la misma regla atrapa a un ladrón y a un asistente es
que, en una configuración normal, están en el mismo lugar. El agente corre
como tu cuenta de usuario, en tu máquina. Esa cuenta puede abrir las
contraseñas guardadas del navegador porque tú las guardaste. Puede leer el
Administrador de Credenciales de Windows porque ese cofre es tuyo. Puede
escribir en la carpeta de Inicio y llamar a certutil porque cualquier
programa que ejecutas puede. El agente hereda toda tu autoridad ambiente —
cada secreto, cada herramienta firmada, cada rincón grabable del disco —
en el momento en que arranca. Una inyección de prompt, una skill
envenenada o una tarea legítima demasiado entusiasta tiene entonces todo
eso a su disposición.
Por eso Sophos enmarca la parte difícil como política, no detección: "¿Qué debería permitírsele hacer a un agente en un endpoint? ¿Qué fronteras deberían imponerse?" Su consejo de ajuste divide las reglas en dos. Algunas deberían aprender las firmas conocidas-buenas del agente para que dejen de gritar que viene el lobo. Otras "deberían seguir disparándose, porque la actividad que atrapan es arriesgada haya sido un humano o un agente quien la inició" — el descifrado DPAPI y los volcados del cofre de credenciales entre ellas. Y eso deja al defensor en un aprieto real. Suprime la regla de credenciales para acallar al agente, y te quedas ciego ante el infostealer que hace la llamada idéntica. Déjala disparándose, y tu cola se llena de una herramienta que tus propios desarrolladores instalaron. Ninguna opción es buena, porque ambas asumen que el agente tiene que vivir en el endpoint, junto a los secretos.
Mueve el agente, y el cofre no está ahí para abrirlo
El aprieto solo se sostiene mientras el agente vive junto a los secretos.
Bromure Agentic Coding corre cada agente de
codificación dentro de una VM Linux desechable, a un hipervisor de tu Mac.
El mundo del agente es esa VM. Tu Keychain de macOS no está en ella. El
perfil del navegador donde guardaste tus contraseñas no está en ella. No
hay Administrador de Credenciales de Windows, ni carpeta de Inicio del
host, ni proceso del navegador del host que matar y hurgar. Cuando una
skill busca el almacén de contraseñas guardadas como lo hace el /browse
de GStack, la búsqueda aterriza en una VM nueva que nunca contuvo esas
contraseñas. La llamada puede correr; no encuentra nada que valga la pena
llevarse.
Quedan las credenciales que el agente necesita para hacer el trabajo — la
clave de API del modelo, un token de GitHub para hacer push de una rama,
un secreto de AWS para desplegar. Entregárselas a la VM solo recrearía el
cofre del que te alejaste. Bromure no las entrega. Un proxy
man-in-the-middle en el host se sitúa en el cable entre la VM y el mundo
exterior. Dentro de la VM el agente solo tiene señuelos — una cadena
brm_… de marcador de posición donde debería ir la clave real. Cuando el
agente hace una petición a api.anthropic.com o github.com, el proxy
cambia el señuelo por el valor real a la salida y lo vuelve a cambiar a la
entrada. El secreto genuino está presente para el único salto que lo
necesita y nunca entra en la memoria de la VM. Un agente que descifra todo
lo que puede encontrar en su propio entorno se marcha con marcadores de
posición.
Dos reglas que mantienen al humano en el bucle
El aislamiento saca los secretos de alcance; otros dos controles deciden
cuándo se permite que uno real salga del host. Cada cambio de credencial
puede configurarse para requerir aprobación — la sustitución de
señuelo a real se pausa y un diálogo en tu Mac pregunta antes de que el
valor real salga. Para una clave SSH o una petición de AWS la concedes por
cinco minutos, una hora o el resto de la sesión, y luego se bloquea de
nuevo. Y para las bases de datos conectadas a través del proxy — MongoDB,
ClickHouse, Elasticsearch — una salvaguarda lee la operación real en el
cable y puede bloquear las destructivas, de modo que un DELETE que el
agente se convenció a sí mismo de hacer nunca llega al endpoint real,
incluso después de que la credencial se haya cambiado.
Nada de esto le pide al agente que se porte bien. Asume que el agente podría hacer la cosa con forma de ataque — descifrar un almacén, vaciar un cofre, reintentar una descarga bloqueada — porque Sophos acaba de ver a agentes reales hacer exactamente eso. El diseño decide que, cuando ocurra, el almacén esté vacío, la clave sea falsa y la consulta destructiva se detenga en la puerta.
Los agentes ahora se comportan como aquello que tus defensas fueron afinadas para detener, y no puedes arreglar eso pidiéndoles que se porten bien. Lo arreglas cambiando dónde se paran. Dale a un agente una máquina desechable sin contraseñas guardadas, un cofre lleno de señuelos y un proxy que mantenga los secretos reales en el host — y la telemetría que encendió el volcado de Sophos se vuelve un proceso hurgando en una habitación vacía. Instálalo, apúntalo a un repositorio y déjalo buscar lo que quiera.