El phishing con códigos QR está en aumento. Aquí está el sistema de defensa de cuatro capas que integramos directamente en cada escaneo.
El Problema con los Códigos QR Dinámicos
Los códigos QR dinámicos son una de las herramientas más útiles del marketing moderno: se imprimen una vez y se puede actualizar el destino en cualquier momento sin reimprimir. Cambia la URL para un nuevo menú, una promoción actualizada o una página de evento diferente, todo desde un único código impreso.
Pero esa misma flexibilidad crea una superficie de ataque. Un actor malicioso puede crear un código QR dinámico apuntando a un destino legítimo para superar las verificaciones iniciales, y luego redirigirlo a una página de phishing horas después. El FBI ha reportado un aumento sostenido en el "quishing" — phishing basado en QR — donde los estafadores sustituyen códigos QR legítimos en espacios públicos con los suyos propios. El código QR parece exactamente igual. Solo cambia el destino.
La mayoría de los generadores de QR no abordan esto. Generan una imagen, te entregan un archivo y siguen adelante. Adoptamos un enfoque diferente: controles de seguridad integrados directamente en la ruta de redirección.
Capa 1: Lista de Dominios Bloqueados
Antes de crear cualquier código QR — o actualizar cualquier URL de destino — verificamos el nombre de host contra una lista mantenida de dominios maliciosos conocidos. Si el dominio está en la lista, el QR no se puede crear ni actualizar. La verificación ocurre antes de que el registro se escriba en la base de datos.
Capa 2: Google Safe Browsing — Cada URL, Cada Vez
La lista de bloqueo solo detecta dominios que ya conocemos. Para todo lo demás, consultamos la API de Google Safe Browsing — la misma base de datos que impulsa las advertencias de phishing de Chrome — en cada envío de URL: tanto en la creación inicial del QR como en cada actualización posterior del destino.
Esta verificación también se ejecuta cuando el destino de un código QR dinámico cambia, no solo en la creación. Eso cierra la ventana del esquema "cebo y cambio": un código QR que apuntaba a una URL legítima no puede redirigirse silenciosamente a una maliciosa después.
Capa 3: Registro de Auditoría Permanente
Cada vez que se cambia la URL de destino de un código QR dinámico, escribimos un registro permanente: la URL anterior, la nueva URL, la marca de tiempo y la dirección IP de la cuenta que realiza la solicitud. Este registro no puede ser eliminado por los usuarios.
Capa 4: Limitación de Velocidad en Redirecciones
El endpoint de redirección está ahora limitado a 300 solicitudes por minuto por dirección IP. Los usuarios normales nunca lo verán. Los scripts automatizados que sondean análisis de escaneo o ejecutan campañas de bots son cortados de inmediato. El límite es generoso para el uso real y estricto para la automatización.
Lo Que Esto Significa en la Práctica
Estas cuatro capas funcionan como una pila de defensa en profundidad. Los usuarios legítimos no notan nada de esto. Crea un código QR, apúntalo a tu sitio web, actualízalo cuando tu campaña cambie, compártelo con confianza. Las verificaciones ocurren en segundo plano en milisegundos.
La seguridad en los códigos QR no debería ser un nivel premium — debería ser infraestructura. Construimos estas protecciones para que estén activas por defecto, en cada código, en cada cuenta.

