Que una app de escritorio no se convierta en un escáner de tu red interna: protección contra SSRF para agentes de IA
Un asistente de IA puede pasar a una app un enlace a tu router. Cómo analiza KwaFlux el host como un navegador, revisa el DNS y hasta dónde protege.
Lo esencial
- Si un asistente de IA puede pedirle a una app de escritorio que acceda a un enlace, una instrucción envenenada puede dirigirla a tu router, a un servicio local o a una dirección de metadatos de la nube en lugar de a un vídeo.
- Una misma dirección se puede escribir de muchas formas:
127.1,2130706433,0x7f000001y[::ffff:127.0.0.1]llegan todas a este equipo. KwaFlux analiza los nombres de host como lo hacen los navegadores, así que cada variante se comprueba como la dirección que es en realidad. - Cuando una descarga está a punto de empezar, KwaFlux también resuelve el nombre de host y lo rechaza si apunta a este equipo o a una red privada, sin bloquear el rango de direcciones que usan las herramientas proxy en el modo fake-IP.
- Las redirecciones durante la descarga y el DNS rebinding todavía no están cubiertos. Lo decimos claramente, y están en nuestra hoja de ruta.
Cuando un asistente de IA le pide a KwaFlux que descargue un enlace, quien se conecta es el motor de descarga de KwaFlux. Ese motor se ejecuta en tu ordenador, dentro de tu red. Si el enlace apunta a http://192.168.1.1/ en lugar de a la página de un vídeo, una app descuidada se conectaría sin problema a tu router en nombre del asistente.
KwaFlux impide que los enlaces que envía un asistente lleguen a este equipo y a redes privadas. Te contamos cómo lo hace y dónde termina esa protección.
En esta guía verá qué significa el SSRF para una app de escritorio, por qué las listas de bloqueo fallan ante las grafías alternativas de una dirección, cómo comprueba KwaFlux tanto el host escrito como el resuelto y qué casos siguen abiertos.
Contenido
- ¿Qué es el SSRF?
- Por qué está expuesta una app de escritorio manejada por IA
- Una dirección, muchas grafías
- Capa 1: analizar el host como un navegador
- Capa 2: comprobar a qué se resuelve el nombre
- La excepción fake-IP
- Dónde termina la protección
- Preguntas frecuentes
¿Qué es el SSRF?
La falsificación de peticiones del lado del servidor (SSRF, por sus siglas en inglés) es un ataque en el que alguien consigue que un programa envíe una petición a un destino elegido por el atacante, normalmente uno al que este no puede llegar directamente, como un servicio de la misma máquina o una red interna.
El nombre viene de los servidores web, pero el patrón encaja con cualquier programa que acceda a URL por cuenta de otro. La guía de seguridad de MCP enumera los objetivos habituales: IP internas como http://192.168.1.1/admin, los endpoints de metadatos de la nube en http://169.254.169.254/ y servicios de localhost como http://localhost:6379/.
Por qué está expuesta una app de escritorio manejada por IA
Se juntan tres cosas:
- La app accede a URL. La función de Descarga de archivo de KwaFlux se conecta a cualquier enlace que se le dé.
- La app está dentro de tu red. Desde tu ordenador,
192.168.x.xes tu router, tu NAS o tu impresora, y127.0.0.1es cada servicio que ejecutas en local. - El enlace puede salir de un texto que ha leído el modelo. La descripción de un vídeo o una página web pueden pedirle al asistente que «compruebe antes este enlace». Para ver cómo ocurre, lee la inyección de prompts en títulos de vídeos web.
Puede que un motor de descarga que accede a una dirección interna no le enseñe la respuesta a nadie, pero hasta un mensaje de error puede revelarle a un atacante si hay un dispositivo en esa dirección. A eso nos referimos con convertir una app de escritorio en un escáner de la red interna.
Una dirección, muchas grafías
Bloquear 127.0.0.1 y localhost comparando cadenas no basta. Los analizadores de URL aceptan muchas otras formas de escribir la misma dirección. Esto es lo que saca el analizador de URL de WHATWG en Node.js 20 de algunas de ellas:
| Lo que pone el enlace | Host analizado |
|---|---|
http://127.0.0.1/ | 127.0.0.1 |
http://127.1/ | 127.0.0.1 |
http://2130706433/ | 127.0.0.1 |
http://0x7f000001/ | 127.0.0.1 |
http://0x7f.0.0.1/ | 127.0.0.1 |
http://0177.0.0.1/ | 127.0.0.1 |
http://017700000001/ | 127.0.0.1 |
http://127.0.0.1./ | 127.0.0.1 |
http://[0:0:0:0:0:0:0:1]/ | [::1] |
http://[::ffff:127.0.0.1]/ | [::ffff:7f00:1] |
http://10.1/ | 10.0.0.1 |
http://0xa9fea9fe/ | 169.254.169.254 |
Todas las filas salvo las dos últimas llegan a este equipo. 10.0.0.1 es una dirección privada, y 169.254.169.254 es la dirección de enlace local que usan las plataformas en la nube para los metadatos de instancia.
El URL Standard de WHATWG explica por qué: una parte que empieza por 0x se lee en base 16, una que empieza por 0 en base 8, y en una dirección con menos de cuatro partes la última parte rellena los bytes que faltan. La guía de prevención de SSRF de OWASP advierte de esas mismas codificaciones «Hex, Octal, Dword», y la guía de seguridad de MCP añade: «Evite implementar la validación de IP a mano. Los atacantes aprovechan trucos de codificación (octal, hexadecimal, IPv6 con IPv4 mapeada) que a menudo se les escapan a los analizadores hechos a medida».
Capa 1: analizar el host como un navegador
KwaFlux no compara cadenas. Analiza el host con las mismas reglas que usan los navegadores y comprueba el resultado:
- El análisis de hosts de WHATWG convierte las formas abreviadas, las partes en octal y hexadecimal, las direcciones de un solo número y el punto final en la dirección real antes de cualquier comprobación.
- IPv6 se comprueba en sus 16 bytes, así que una forma con IPv4 mapeada como
[::ffff:7f00:1]se detecta como loopback y no se trata como una dirección IPv6 desconocida. - **Se rechazan los hosts que contienen
%.** Así quedan descartados los identificadores de zona IPv6 y los trucos con codificación por porcentaje en el host. - Se rechazan las direcciones de loopback, privadas y de enlace local, como
127.0.0.0/8,::1,10.0.0.0/8,192.168.0.0/16y169.254.0.0/16.
Así se sigue el consejo de OWASP de «usar el valor de salida del método o la biblioteca como dirección IP» al hacer la comprobación, en lugar del texto que escribió el usuario.
Capa 2: comprobar a qué se resuelve el nombre
Un nombre de host puede parecer inofensivo y aun así apuntar al interior de tu red. router.example.net puede tener un registro DNS que diga 192.168.1.1.
Por eso, cuando una descarga con sesión iniciada está a punto de ponerse en cola, KwaFlux también resuelve el nombre de host, con un tiempo de espera de 2 segundos. Si el nombre se resuelve a este equipo o a una red privada, la descarga se rechaza.
Esta es la comprobación que detecta los nombres de host públicos cuyos registros DNS apuntan a 127.0.0.1 o a una dirección privada.
La excepción fake-IP
Algunas herramientas proxy funcionan en un modo «fake-IP»: responden a cada consulta DNS con una dirección del rango 198.18.0.0/15 y enrutan ellas mismas la conexión real. El registro de IANA clasifica ese rango como «Benchmarking» (pruebas de rendimiento, RFC 2544), no como un rango privado ni de loopback.
Si KwaFlux tratara ese rango como interno, fallarían todas las descargas en un ordenador que use un proxy de ese tipo. Por eso queda fuera de la comprobación de direcciones resueltas.
Dónde termina la protección
Aquí queremos ser exactos, porque es fácil exagerar lo que hace una protección contra SSRF.
- Lo que está cubierto: el enlace que envía el asistente. Se comprueban tanto el host tal como está escrito como la dirección a la que se resuelve su nombre.
- Lo que todavía no está cubierto: lo que ocurre durante la descarga. Un enlace puede resolverse a una dirección pública cuando se comprueba y a una privada instantes después (DNS rebinding), o una página pública puede redirigir a una dirección interna. La guía de seguridad de MCP llama al primer caso un problema de tiempo de comprobación frente a tiempo de uso, y OWASP señala que «una segunda consulta DNS, sin comprobar, entre la validación y la conexión puede eludir estas comprobaciones».
La solución a fondo es hacer pasar las conexiones del motor de descarga por un componente que compruebe cada conexión, incluida cada redirección, en el momento en que se establece. Está en nuestra hoja de ruta. Todavía no lo hemos hecho porque cambia la forma en que el motor de descarga accede a la red en tres bases de código distintas y afecta a todas las descargas, también a las que inicias tú, así que necesita su propia versión y sus propias pruebas.
Así que la afirmación exacta es esta: KwaFlux impide que un asistente de IA lo dirija a direcciones de este equipo y de redes privadas. No promete que sea imposible que alguna conexión acabe llegando ahí, y no lo describimos como «solo internet público».
Mientras tanto, otros dos límites ayudan. Las descargas de agentes están desactivadas de forma predeterminada y, en el modo de preguntar cada vez, ves el enlace antes de que se descargue nada. Lee por qué una IA no puede aprobar descargas en tu lugar.
Conclusión
Comprueba la dirección, no la forma en que está escrita. Analiza los hosts como lo hacen los navegadores, comprueba a qué se resuelve el nombre antes de que empiece una descarga, deja en paz los rangos fake-IP de los proxies y di con claridad qué sigue abierto. Así evita KwaFlux que los enlaces de un asistente lo conviertan en un escáner de tu red.
Que tu asistente acceda solo a lo que debe
El servidor MCP local de KwaFlux permite que Codex, Claude, Cursor y otras apps compatibles con MCP trabajen con tus archivos, y comprueba cada enlace que envía un asistente. El procesamiento de IA corre en tu propia GPU y tus archivos multimedia no se suben para procesarlos. Funciona en Windows 10 (64 bits, versión 1809 o posterior), Windows 11 y macOS 12 o posterior en Apple Silicon. Importar archivos y explorar la app no requieren cuenta. Iniciar sesión con un plan de pago solo hace falta para exportar, convertir, reparar un archivo o descargar un archivo desde un enlace.
Prueba con tu propio material
Descarga KwaFlux y previsualiza gratis los efectos con tu propio material antes de pagar: sin cuenta, procesado en tu GPU y sin subir tus archivos para procesarlos. Las vistas previas de vídeo duran 1, 3 o 5 segundos; las de estabilización, 5, 15 o 30 segundos.
Preguntas frecuentes
¿Qué es el SSRF, explicado de forma sencilla?
Es engañar a un programa para que haga una petición por ti a un sitio al que tú no podrías llegar, como la página de administración de un router o un servicio del mismo ordenador. Cualquier programa que acceda a enlaces por cuenta de otro se puede usar así.
¿Por qué 127.1 es lo mismo que 127.0.0.1?
Porque los analizadores de URL que siguen el estándar de WHATWG permiten que una dirección IPv4 tenga menos de cuatro partes, y la última rellena los bytes que faltan. 127.1 se convierte en 127.0.0.1. También se aceptan partes en hexadecimal y en octal.
¿Bloquear las IP privadas detiene el DNS rebinding?
No. El rebinding cambia la dirección a la que se resuelve un nombre entre la comprobación y la conexión. Para detenerlo hace falta comprobar en el momento de conectar, por ejemplo fijando la dirección resuelta o enrutando el tráfico por un proxy de salida que revise cada conexión.
¿Para qué se usa el rango 198.18.0.0/15?
Está reservado para pruebas de rendimiento de red según el RFC 2544. Algunas herramientas proxy también lo usan en el modo fake-IP y responden a las consultas DNS con direcciones de ese rango. No es un rango privado ni de loopback.
¿Deben preocuparse por el SSRF las apps de escritorio?
Sí, si acceden a URL en las que otra persona puede influir. Una app de escritorio está dentro de la red de tu casa o de tu oficina, así que una dirección interna a la que acceda puede llegar a dispositivos que un sitio web no alcanza. Consulta cómo proteger un canal de IA local.
Fuentes
- OWASP, SSRF prevention guide (encodings; DNS rebinding; redirects) (consultado el 2026-10-25)
- WHATWG, "URL Standard" (IPv4 parser; IPv4 number parser; ends-in-a-number checker) (consultado el 2026-10-25)
- IANA, "IPv4 Special-Purpose Address Registry" (198.18.0.0/15 Benchmarking, RFC 2544; 127.0.0.0/8; 169.254.0.0/16; last updated 2025-10-09) (consultado el 2026-10-25)
- Model Context Protocol, security guidance for implementers (2026-07-28; Server-Side Request Forgery) (consultado el 2026-10-25)


