Visitas un sitio web. No se descarga nada. Sin ventanas emergentes, sin solicitudes de permiso, sin alertas. Y sin embargo, el agente de IA en tu máquina acaba de ser secuestrado.
Ese es el escenario que Oasis Security demostró esta semana al divulgar CVE-2026-65105, una vulnerabilidad en el toolkit de agentes NemoClaw de NVIDIA. El ataque requiere exactamente una cosa de la víctima: abrir una página web maliciosa en un navegador. Todo lo demás es automático.
¿Qué es NemoClaw?
NVIDIA lanzó NemoClaw en su conferencia GTC en marzo de 2026 como una pila de referencia para construir agentes de IA que se ejecutan dentro de entornos aislados. La idea es sencilla: dar a tu agente un sandbox (OpenShell), un backend de modelo (Ollama para inferencia local) y un conjunto de herramientas, y dejarlo trabajar.
NemoClaw es popular entre los desarrolladores que quieren mantener sus flujos de trabajo de IA locales. En lugar de enviar prompts a una API en la nube, el agente ejecuta su modelo en la GPU del propio desarrollador a través de Ollama. La suposición es que local significa privado y seguro.
Oasis Security acaba de demostrar que esa suposición es incorrecta.
La cadena de ataque DNS Rebinding
La vulnerabilidad existe en cómo NemoClaw configura Ollama en Windows y WSL (Windows Subsystem for Linux). Lanza Ollama con la variable de entorno OLLAMA_HOST=0.0.0.0:11434, que vincula el servidor del modelo a todas las interfaces de red en lugar de solo a localhost.
La API de Ollama en el puerto 11434 no tiene autenticación. Depende de dos verificaciones de middleware para bloquear solicitudes no autorizadas: una validación del encabezado Host y una lista de permisos CORS. Pero cuando la dirección de vinculación no es loopback (127.0.0.1), la verificación del Host se omite por completo.
Eso deja la verificación CORS, y el DNS rebinding la evita fácilmente. Así funciona el ataque:
- El atacante sirve una página web en el puerto 11434 de un dominio que controla
- La víctima visita la página en su navegador
- El dominio del atacante se resuelve nuevamente de su servidor a 127.0.0.1
- El navegador trata las solicitudes como mismo origen
- Las solicitudes llegan a la instancia local de Ollama de la víctima
El atacante ahora tiene acceso completo y sin autenticación al servidor del modelo.
Envenenamiento del modelo: el peor escenario
El acceso completo a la API es peligroso por sí solo. Un atacante puede enumerar modelos instalados, leer prompts del sistema, extraer el nombre de la máquina y la clave pública, o eliminar modelos directamente. Pero el verdadero premio es el envenenamiento del modelo.
El investigador Elad Luz de Oasis Security y su equipo fueron más allá de la simple inyección de prompts. Sabían que inyectar un prompt de sistema oculto no sobreviviría porque OpenClaw envía su propio prompt que lo anula.
Entonces atacaron el endpoint /api/create de Ollama, que acepta un campo de plantilla de chat. La plantilla es una plantilla de Go que renderiza la lista de mensajes en el texto crudo que lee el modelo. La cadena de ataque:
- Extraer la plantilla existente del modelo vía
/api/show - Insertar una instrucción oculta en la plantilla
- Escribirla de vuelta vía
/api/create
Cada mensaje que el cliente envía ahora pasa por la plantilla modificada del atacante, incluyendo el propio prompt del sistema del agente. La instrucción oculta llega al modelo después del prompt legítimo, secuestrando efectivamente cada respuesta.
Desde afuera, nada se ve mal. El nombre, tamaño y metadatos del modelo se leen con normalidad. Abrir un nuevo chat no limpia nada. La carga vive en la definición del modelo, muy por debajo del estado de conversación que un operador puede reiniciar.
¿Qué puede hacer un agente envenenado?
Las implicaciones son graves. Una instrucción en la plantilla de chat puede:
- Indicar al agente que escriba vulnerabilidades en el código que pase una revisión casual
- Ordenarle que no mencione problemas de seguridad que descubra
- Enviar contenidos de conversaciones a un endpoint externo para exfiltración
- Manipular cualquier herramienta a la que el agente tenga acceso
Como dijo Luz, el cambio se sitúa "una capa debajo de cualquier guardrail u operador puede ver", dejando un problema de integridad extremadamente difícil de detectar.
Por qué el sandboxing no ayuda
Esta es la parte que debería preocupar a cada equipo que ejecuta agentes de IA. La propuesta de valor completa de NemoClaw es el sandboxing: OpenShell aísla el sistema de archivos, la red y los procesos que el agente puede tocar.
Pero el sandbox no protege contra este ataque porque la vulnerabilidad está en el backend del modelo, no en el agente en sí. Como señaló Oasis Security: "El sandboxing protege el endpoint, pero tomar el agente toma su acceso y herramientas."
La corrección y qué significa para tu stack
NVIDIA lanzó NemoClaw v0.0.35, que corrige el problema en macOS y Linux. En Windows y WSL, v0.0.34 agregó una ruta de instalación con advertencia en lugar de una corrección completa.
Si tu equipo ejecuta agentes de IA localmente, esto es lo que debes verificar hoy:
- Actualiza NemoClaw a v0.0.35 o posterior en macOS y Linux
- Verifica la vinculación de Ollama — asegúrate de que esté en 127.0.0.1, no en 0.0.0.0
- Agrega validación de Host header — verifica contra una lista de valores autorizados
- Audita tu stack de agentes — cualquier servidor de modelo local expuesto es un objetivo
- Monitorea la integridad del modelo — compara plantillas de chat y hashes contra baselines conocidas
El panorama general
Esta vulnerabilidad es una vista previa de los desafíos de seguridad que vienen con la IA agentic. A medida que los desarrolladores migran de inferencia solo en la nube a implementaciones locales e híbridas, la superficie de ataque se expande de formas que los modelos de seguridad tradicionales no cubren.
El sandbox protege el endpoint. El guardrail protege la conversación. Pero ninguno protege al modelo mismo de ser silenciosamente reescrito por una sola visita web.
Para organizaciones que construyen sobre frameworks de agentes de IA, la lección es clara: trata tu infraestructura de modelos locales con el mismo rigor que aplicas a tus servidores de producción. Porque en un mundo agentic, un modelo comprometido es un todo comprometido.