Precursor: el sistema de Cloudflare que detecta el comportamiento de agentes a lo largo de toda la sesión
(blog.cloudflare.com)- Como ya es más difícil distinguir la automatización que usa navegadores reales y JavaScript solo con puntos de verificación individuales como inicio de sesión, registro o pago, Cloudflare introdujo Precursor, que analiza de forma continua las señales de comportamiento de todo el recorrido del usuario
- Inserta JavaScript ligero ensamblado dinámicamente en la respuesta HTML para recopilar movimiento del puntero, actividad del teclado, foco y estado de visibilidad de la página, y lo refleja en tiempo real en la evaluación en el edge y en los sistemas existentes de defensa contra bots
- El movimiento de la muñeca, la latencia cognitiva, el temblor de la mano y el ritmo de velocidad, dirección y corrección son difíciles de replicar para una automatización que muestra movimientos rectos, velocidad constante o precisión excesiva a lo largo de toda la sesión, por lo que sirven como base para una detección a nivel de sesión
- Aplica un diseño centrado en la privacidad, recopilando solo el timing y el ritmo en lugar de las teclas reales, y sin vincular las señales de comportamiento con cuentas de usuario, perfiles persistentes ni exponerlas directamente en el dashboard del cliente
- Actualmente se está desplegando como parte de Enterprise Bot Management y puede usarse gratis hasta su disponibilidad general a fin de año; puede operar observando en segundo plano sin modificar la aplicación o forzando un Challenge en sesiones no verificadas
De puntos de verificación individuales a toda la sesión
- La defensa contra bots es una competencia adversarial repetida entre la adaptación del atacante y la respuesta del defensor, y Cloudflare aprovecha tanto la visibilidad de toda la red como las señales del entorno cliente
- Analiza más de 1 billón de solicitudes al día en su red global para identificar reputación, patrones y anomalías en un alcance que cubre más del 20% de la web
- Cloudflare Turnstile evolucionó de ser una alternativa a CAPTCHA a un Challenge administrado y basado en riesgo que ajusta el nivel de fricción necesario para verificar usuarios
- Turnstile se ejecuta unas 3 mil millones de veces al día en puntos sensibles como inicio de sesión, registro y pago, pero entre esos puntos la visibilidad sobre cómo se comportan humanos y bots a lo largo de todo el recorrido del usuario era limitada
- Precursor llena ese vacío de visibilidad recopilando de forma continua señales de comportamiento del cliente en toda la aplicación web y evaluándolas a nivel de sesión
- Extiende a toda la aplicación la detección del lado del cliente que ya ofrecía Challenge
- Complementa Turnstile de forma opcional, y ambas funciones están incluidas en Enterprise Bot Management
Continuidad del comportamiento, más difícil de imitar que un instante breve
- La automatización moderna puede ejecutar JavaScript, usar entornos de navegador reales e incluso superar CAPTCHA individuales, por lo que en tramos cortos puede parecer un usuario legítimo
- Reproducir un comportamiento humano consistente a lo largo de toda la sesión es más difícil, y Precursor usa esa continuidad del comportamiento como señal para detectar fraude y abuso
- Añade más señales a cada decisión para mejorar la precisión al distinguir entre humanos y automatización
- Reduce la dependencia de Challenges agresivos y disminuye las interrupciones innecesarias para usuarios legítimos
- Como los desarrolladores de bots deben imitar toda la sesión, aumenta el costo de construir y mantener la automatización y reduce la confiabilidad de su operación a gran escala
Errores humanos y limitaciones físicas
- Los desarrolladores de bots añaden ruido gaussiano o retrasos aleatorios uniformes al movimiento del mouse, pero el movimiento humano tiene limitaciones físicas y cognitivas que van más allá del ruido simple
- Eje de rotación de la muñeca: por el rango de movimiento de la muñeca y la rotación del antebrazo, el mouse suele moverse en arcos
- Carga cognitiva: tras ver una casilla de verificación, aparece un retraso medible antes de hacer clic
- Temblor de la mano: incluso en una mano estable aparecen vibraciones asociadas con la frecuencia fisiológica del temblor
- La automatización tiende a usar interpolación lineal o curvas Bézier matemáticamente ideales, y a hacer clic con una precisión difícil de reproducir para una persona
- Un ejemplo de biblioteca de automatización mueve el mouse en una línea perfectamente recta, siempre vuelve al origen y reacciona con la misma velocidad
- En cambio, una persona muestra trayectorias irregulares, pequeñas correcciones, sobrepasos del objetivo y cambios de velocidad, timing y dirección incluso en el mismo sitio
- Aunque una interacción individual parezca creíble, en el conjunto de la sesión emergen diferencias en los patrones de comportamiento, y Precursor captura y evalúa esas firmas de comportamiento mientras continúan las interacciones
Inyección en el cliente y recopilación de señales
- Al activar Precursor, se inserta automáticamente un script ligero en las respuestas HTML de los sitios que pasan por la red de Cloudflare
- No requiere configuración adicional, conexiones de red separadas ni embebidos de terceros
- El bundle es pequeño, está ofuscado y se ensambla dinámicamente en cada respuesta
- Está diseñado para no interferir con otra lógica de página de la aplicación web alojada
- El script usa listeners de eventos ligeros para capturar movimiento del puntero, actividad del teclado, cambios de foco y estado de visibilidad de la página
- Serializa los eventos en un formato comprimido y los almacena en memoria
- Los datos acumulados en el buffer se envían periódicamente a la capa de evaluación
Evaluación en el edge y validación cruzada
- Los servidores edge deserializan los payloads entrantes de Precursor como entradas de comportamiento y ejecutan varios evaluadores a través de un dispatcher
- Cada evaluador puede leer los streams de Precursor que necesita y registrar señales en un registro compartido de detección
- En lugar de depender de un solo evento, valida en cruz diferentes tipos de datos
- Verifica si la actividad del puntero coincide con el tiempo en que la página estuvo visible
- Revisa si los eventos de teclado ocurren solo cuando hay foco en un campo de texto
- La información que llega de forma continua se integra como señales de detección individuales y se usa para calcular pesos de detección
Acumulación por sesión y capas posteriores de detección
- Los datos de Precursor se acumulan en alcance de sesión, por lo que un bot no puede reiniciar su firma de comportamiento aunque refresque la página o vuelva a empezar desde un nuevo Challenge
- Los metadatos de la sesión también se transfieren a capas posteriores de detección
- Heurísticas en modo sombra y análisis de sesión
- Comparación entre finalización esperada y finalización real
- Heurísticas de delinquency de sesión
- La información observada en el edge se registra para mejorar la detección y se usa para ajustar el bot score de la sesión
Diseño de privacidad
- Los listeners de eventos recopilan solo la información mínima necesaria para distinguir patrones humanos de patrones de automatización y abuso
- En la actividad del teclado capturan únicamente timing y ritmo, no las teclas reales presionadas
- Evalúan patrones de comportamiento agregados, no acciones individuales
- Las señales de comportamiento se usan solo dentro del sistema de detección de bots de Cloudflare
- No se exponen directamente en el dashboard del cliente
- No se vinculan con cuentas de usuario, identidades de inicio de sesión ni perfiles persistentes
- Esto permite actualizar de forma continua la evaluación del comportamiento mientras se reduce la fricción para usuarios legítimos
Security Analytics basado en sesiones
- Security Analytics agrega una vista basada en sesiones que muestra todo el recorrido del visitante, no solo solicitudes individuales
- En el dashboard se pueden investigar estas preguntas
- Cómo es una sesión típica del sitio
- En qué puntos se desvía del comportamiento esperado
- Qué sesiones muestran señales de automatización con el paso del tiempo
- El análisis también pasa a incluir el comportamiento entre solicitudes, algo difícil de capturar con análisis por solicitud
- Como los datos de Precursor se envían directamente al bot score existente, a las decisiones de Challenge y a las reglas de seguridad, el contexto adicional de sesión puede aprovecharse de inmediato dentro de las defensas actuales
Expansión futura y cómo activarlo
- Precursor es la base para ampliar la detección de bots a toda la aplicación, y Cloudflare planea seguir expandiendo estas áreas
- El alcance y la profundidad de las señales de comportamiento usadas en seguridad
- La forma en que la información a nivel de sesión impacta la protección de bot management
- Nuevas formas de visualizar y accionar sobre los datos de sesión
- A medida que los bots evolucionan, la detección también debe salir de los puntos aislados de verificación y abarcar todo el flujo de actividad del usuario
- Actualmente se puede activar Precursor por zona desde el dashboard de Cloudflare, y estará disponible gratis hasta su lanzamiento GA a fin de año
- La intensidad de la validación de sesión puede elegirse de dos formas
- En el modo de baja fricción, observa el comportamiento en segundo plano
- Si se necesitan sesiones completamente verificadas, fuerza un Challenge cuando no existe una sesión previa
- Apenas se activa, fortalece las defensas existentes contra bots sin requerir cambios en la aplicación
- Si ya usas Bot Management o Turnstile, el alcance de detección se amplía más allá de los puntos de Challenge existentes para cubrir también el resto de la sesión y la actividad entre puntos protegidos
1 comentarios
Comentarios de Hacker News
Resulta preocupante que Cloudflare se esté posicionando como el árbitro de los bots tanto del lado del bloqueo como del permiso, y no parece saludable para todo Internet
Llevo casi 20 años lamentando que hace falta una mejor forma de compensar a los creadores de contenido que la publicidad, y esto podría ser la respuesta
También han seguido las críticas de que Anthropic y OpenAI se construyeron sobre contenido apropiado indebidamente, así que no se puede ignorar esa realidad y esperar ambas cosas a la vez
Con críticas tan generales, cuesta entender si se está diciendo que su alcance es demasiado amplio o que nadie más ofrece un servicio parecido
Se siente algo extraño que Cloudflare venda productos de agentes y al mismo tiempo lance un servicio que parece bloquear el uso de agentes en la web
Seguramente usa muchas más señales además de la trayectoria del mouse, pero ya puede ser difícil distinguir en dispositivos de entrada no tradicionales como pantallas táctiles o el trackpoint de ThinkPad
Sería grave confundir como bot a alguien que usa herramientas de accesibilidad para el mouse, pero hacer excepciones también podría convertirse en una vía de escape para la navegación por agentes
Aun así, casi con seguridad es un paso positivo en cuanto a reducir el abuso y el spam de bots agentes
Puedes ofrecer servicios para que los usen los bots buenos y al mismo tiempo ayudar a bloquear a los malos
Si un bot imita torpemente el movimiento del mouse, eso sería una señal fuerte de anomalía, y un bot bueno seguiría
robots.txty no ocultaría el hecho de que es un bothCaptcha ya había implementado todo esto hace 6 años
No solo distinguía entre humanos y bots, también identificaba el comportamiento de teclado y mouse que aparece cuando una misma persona crea varias cuentas o prueba múltiples tarjetas de crédito
Cuando Cloudflare cambió a hCaptcha en 2020, esa detección de abuso venía incluida, y cuando dejó hCaptcha en 2022 asumí que ya lo había implementado por su cuenta
Si buscas accesibilidad en la página no aparece nada, así que parece que esta especie de astrología de movimientos del mouse va a excluir por completo de gran parte de Internet a las personas ciegas y a quienes solo usan teclado
Si inician sesión y renuncian al anonimato, supongo que se asumirá que no son bots
En algunas regiones ni siquiera puedes hacer check-in para un vuelo sin smartphone, así que viajar en sí se vuelve imposible, pero la mayoría lo da por sentado
La detección de agentes es un campo emergente y va a volverse mucho más importante
Entre los productos relacionados están Foil(https://usefoil.com/), Kasada https://www.kasada.io/, DataDome(https://datadome.co/), Castle(https://castle.io/), Fingerprint(https://fingerprint.com/), HUMAN(http://humansecurity.com/), Google Cloud Fraud Defense(https://cloud.google.com/security/products/fraud-defense?hl=...), que en la práctica es el sucesor de reCAPTCHA, y Cloudflare Precursor
Hoy sus principales usos son evitar credential stuffing automatizado, cuentas falsas y abuso de pruebas gratis junto con los costos de SMS de Twilio que eso genera, fraude de pagos, scraping para LLM y acaparamiento automatizado de boletos y tenis
Me da curiosidad cuál de esos casos de uso impulsará más la demanda empresarial, y espero que en vez de bloquear agentes de forma incondicional, se los detecte y se los envíe por una ruta dedicada para agentes para que puedan navegar la web y realizar tareas en nombre del usuario
Ofrecen cientos de millones de IP residenciales, huellas de navegador similares a las humanas y binarios de navegador personalizados, y eluden automáticamente Turnstile, reCAPTCHA v3, Kasada, DataDome, AWS WAF y otros cuando aparecen
Combina perfilado y probabilidad de transición entre etapas para permitir que solo ciertas áreas de activos digitales, como pagos con riesgo de contracargo, exijan autenticación adicional o bloqueen a los agentes
Por ahora, Precursor parece estar más enfocado en detectar scraping que obtiene múltiples documentos dentro del mismo sitio
Me pregunto qué podría detenerlo si un bot o agente agrega microtemblores para imitar el movimiento del cursor humano
Seguramente usarán otras señales también, pero esta en particular parece fácil de evadir en cuanto los bots se vuelvan apenas un poco más sofisticados
Incluso con clustering básico de aprendizaje automático ya se puede distinguir el comportamiento de mouse, teclado y táctil de un bot frente al de una persona, pero también hay un alto riesgo de discriminar a personas con discapacidad que usan funciones de apoyo como seguimiento ocular
El comportamiento de alguien que usa solo una mano puede diferir mucho del de un usuario típico, y actualmente en EE. UU. la aplicación de la ADA fuera de California, Illinois y Nueva York también es débil
Una empresa con tanta influencia como Cloudflare debería filtrar de forma conservadora para que las personas con discapacidad no resulten perjudicadas por este análisis de comportamiento
No deberían lavarse las manos diciendo “solo damos una puntuación de probabilidad de bot y cada sitio decide el umbral”, para luego culpar al sitio de bloquear a personas con discapacidad por haber puesto el umbral demasiado estricto
A esta escala, también deben asumir la responsabilidad por los efectos secundarios y terciarios de sus decisiones
Estos datos pueden distinguir no solo bots, sino también género, mano dominante, edad aproximada, idioma nativo según patrones de escritura, lesiones y procesos de recuperación, e incluso discapacidades mentales y físicas
Como también se puede inferir ADHD, esquizofrenia, enfermedad de Parkinson, uso de medicamentos y efectos del tratamiento a partir de la forma de navegar un sitio, resulta muy difícil imitar todos esos indicadores para quedar dentro del mismo grupo que una persona típica
Aunque pueda funcionar a corto plazo, con el tiempo aparecerán patrones claros, y como también tienen datos variados de temblores por sitio y por diseño, pueden detectar con facilidad la imitación artificial
Incluso el mismo usuario se mueve distinto según el dispositivo de entrada
En la PC del trabajo uso mouse, en mi laptop personal uso touchpad y en la laptop del trabajo uso el TrackPoint de ThinkPad, así que en una sola persona aparecen tres perfiles de comportamiento
Será distinto al movimiento de una IA, pero si la huella del movimiento del mouse se convierte en otra barrera, podrían aparecer muchas anomalías interesantes
Cloudflare debería dejar de fingir que protege internet
https://developers.cloudflare.com/browser-run/quick-actions/...
Esta empresa es como una compañía que vende cigarrillos y también construye hospitales
Qué ganas del día en que Cloudflare le venda a las aseguradoras los datos del estado de mi muñeca. Maravilloso este infierno de vigilancia que construimos nosotros mismos
Últimamente, por falsos positivos de Cloudflare, seguido pasa que la sesión se queda cargando y nunca llega a la página real
Si siguen lanzando cada día soluciones nuevas programadas al tanteo, me preocupa que eso también termine afectando la calidad del servicio