Hay tres formas en que un script mueve un ratón por una página: teletransportar el cursor directo a su objetivo, añadir un humanizador que dibuja una curva suave, o pagar por una API comercial que trae movimiento "humanlike" listo para usar. El modelo de cursor de escritorio de cside, cursor_v2, atrapa las tres por cómo se mueve el ratón. Este artículo tiene las tasas de captura, en escritorio, de extremo a extremo.
Nada de esto depende del navegador. Ya sea que la automatización corra sobre Playwright puro, una librería humanizadora como WindMouse o NaturalMouse, o la API BrowserQL de browserless.io, el modelo puntúa lo mismo: el movimiento que deja una mano real, que un script todavía no puede reproducir. Este es el complemento de un artículo anterior sobre atrapar bots por cómo se mueven; aquí el foco es Playwright y browserless.io en concreto.
La versión corta:
- Un script de Playwright que teletransporta el cursor, sin ninguna humanización, se atrapa el 98,2% de las veces, en frío.
- Añade un humanizador estándar (curvas bezier) o una librería basada en física como WindMouse o NaturalMouse, y la tasa de captura apenas se mueve: del 97% al 100%.
- La API BrowserQL de browserless.io trae un modo "humanlike" con trayectorias de ratón curvadas y eventos de clic de confianza, listo para usar. Cerca del 70% del tráfico de browserless contra el que probamos ya corre con él activado.
- Curvar una trayectoria no es lo mismo que moverse como una persona. cursor_v2 marca el 100% de las sesiones "humanlike" de browserless en vivo, con una tasa de falsos positivos inferior al 1% en humanos reales.
Sea como sea que generes la trayectoria
Playwright puro suele ser exactamente lo que parece: llamas a mouse.move(x, y) y el cursor salta directo al objetivo sin trayectoria en medio. Ese es el caso más barato, y es tan fácil de atrapar como suena.
Un humanizador cambia la forma. En lugar de un salto, el cursor sigue una curva bezier suave. Las librerías basadas en física van más allá: WindMouse y NaturalMouse están construidas para imitar la aceleración, el sobrepaso y las pequeñas correcciones que hace una mano real. Cada una se puntuó en escritorio, de extremo a extremo, a través del modelo desplegado.
| Enfoque | n | AUC | Recall @ FPR ≤ 1% | Atrapado |
|---|---|---|---|---|
| Teletransporte en línea recta (sin humanizador) | 500 | 0,995 | 98,6% | 98,2% |
| Humanizador de curva bezier (reservado) | 500 | 0,999 | 99,6% | 99,6% |
| Humanizador bezier cuantizado (reservado) | 500 | 0,999 | 99,6% | 99,6% |
| WindMouse (basado en física) | 499 | 1,000 | 99,4% | 97,0% |
| NaturalMouse (basado en física) | 500 | 1,000 | 100,0% | 100,0% |
Control: 160 movimientos humanos reales, reservados, puntuados a través de la misma canalización. Cero marcados.
Curvar la trayectoria cambia cómo se ve, no lo que una mano deja realmente. Cada enfoque aquí sigue quedando por encima del 97% atrapado, en escritorio, solo por el movimiento.
Entonces aparece browserless.io
browserless.io vende Chromium headless remoto como una API. Manejas un navegador real a través de un lenguaje de consulta llamado BrowserQL sin ejecutar Chromium tú mismo. Es un producto legítimo con usos legítimos, y también es una forma popular de correr bots.
BrowserQL trae un modo "humanlike". Actívalo y los clics y desplazamientos se disparan como eventos de confianza, y el ratón se enruta por trayectorias curvadas, con forma humana, en lugar de teletransportarse de A a B. En el tráfico contra el que probamos, cerca del 70% ya corre con el modo "humanlike" activado. La gente ya lo está intentando.
Curvado no es humano
La forma de una trayectoria es la mitad de lo que deja una mano, no todo. cursor_v2, el mismo modelo que marcó a un agente LLM que manejaba el navegador sigiloso Camoufox en una prueba anterior, no califica un movimiento solo por su forma. Sea lo que sea lo demás que califica, el modo "humanlike" no lo tocó. Una trayectoria curvada es una versión con mejor aspecto del mismo teletransporte.
En vivo, sobre tráfico real capturado de browserless.io con el modo "humanlike" activado, cursor_v2 lo atrapa todo. En una comparación controlada de 54 sesiones reales capturadas de browserless frente a 529 humanas reales, el sistema combinado atrapó las 54 y marcó cerca del 1% de los humanos.
| Métrica | Resultado |
|---|---|
| Sesiones "humanlike" de browserless en vivo capturadas | 100% |
| Recall dentro de la distribución @ FPR ≤ 1% | 99,5% |
| Tasa de falsos positivos humanos en el umbral | 0,6% |

browserless.io hizo bien la geometría: trayectorias curvadas, eventos de clic de confianza. Atrapado igualmente, porque la forma de una trayectoria nunca fue toda la historia. La misma independencia recorre la pila de dos etapas en atrapar bots que no quieren ser atrapados.
Qué atrapa esto, sea cual sea el navegador
Nada de esto depende de cómo se automatizó el navegador. Playwright, Puppeteer, una sesión CDP en crudo, la API de browserless.io: el modelo nunca ve nada de eso. Ve si había una mano real en el ratón, y un script, por bien que finja la forma de una trayectoria, sigue sin serlo.
Si intentas específicamente cerrarle la puerta a Playwright, cómo bloquear Playwright cubre el lado del fingerprint; el movimiento es la capa que aguanta cuando el fingerprint está limpio. Para el conjunto de señales más amplio detrás de la automatización sigilosa, ve cómo detectar agentes de IA y navegadores sigilosos.
Los límites, dichos con claridad
Un informe de seguridad solo vale la pena leerlo si es honesto sobre sus bordes.
La tasa de falsos positivos es baja, no cero. En el umbral desplegado, la tasa de falsos positivos humanos es del 0,6%, y en la comparación cerca del 1% de los humanos reales fueron marcados. Eso es un coste real, y es por lo que producción espera varios movimientos puntuados como bot seguidos antes de actuar, en lugar de reaccionar a un solo gesto extraño.
El resultado de browserless se mide frente a una muestra finita de sesiones humanas reales, no frente a cada cursor que existirá jamás. Lee el 100% como aprobado para esta captura y este control, y la palanca abierta como la amplitud de movimiento humano real contra el que calibrar.
Estas cifras son la vista por movimiento, antes del antirrebote de producción. También omiten a propósito qué mira realmente el modelo, sus umbrales, y cualquier cosa que un autor de bots pudiera usar para ajustarse y esquivarlo.
Cómo encaja cside
cside te da visibilidad sobre cada script, petición y sesión que toca tu sitio, además de la señal de comportamiento para distinguir a los usuarios reales de la automatización que se esconde entre ellos. El modelo de cursor es una capa de una pila de detección que ya separa a humanos, bots buenos y agentes maliciosos en la capa del navegador, después de que las señales estáticas hayan sido falsificadas.
Explora la detección de agentes de IA de cside





