Skip to main content
Blog
Blog

Detección de navegadores headless: señales, métodos y qué funciona en 2026

Los navegadores headless impulsan la mayoría de ataques de bots en 2026. Qué señales los detectan y qué resiste al stealth tooling.

Jul 06, 2026 9 min read
Detección de navegadores headless: señales, métodos y qué funciona en 2026
Tabla de Contenidos

La mayoría de los ataques de bots actuales se ejecutan dentro de un motor de navegador real. Playwright, Puppeteer, Selenium y las API de navegadores headless comerciales utilizan Chromium o Firefox internamente, lo que significa que los signos clásicos de automatización - una cadena user-agent como python-requests o un encabezado Accept-Language ausente - han desaparecido. La detección debe ocurrir en una capa diferente.

Esta guía explica cómo funciona realmente la detección de navegadores headless en 2026: la jerarquía de señales desde las comprobaciones de API del navegador hasta las huellas digitales de renderizado y la puntuación de comportamiento, por qué los controles simples fallan ante las herramientas stealth y qué se mantiene cuando la huella digital es limpia.

Resumen: detección de navegadores headless

La detección de navegadores headless en 2026 funciona en cuatro capas, ordenadas por dificultad de evasión: (1) chequeos de API como navigator.webdriver, fáciles de parchear; (2) huellas de renderizado y GPU, más difíciles de falsificar; (3) huellas TLS y HTTP/2, requieren compilaciones de navegador modificadas; (4) movimiento conductual, ninguna librería de automatización lo ha replicado de forma fiable a gran escala. El cursor_v2 de cside detecta el 98,2 % de las sesiones puras de Playwright y el 100 % de las de browserless.io en modo stealth, con una tasa de falsos positivos inferior al 1 %.

¿Poco tiempo? Consulta la detección de agentes IA de cside. Cubre todo lo de abajo en un solo despliegue.

¿Qué es un navegador headless?

Un navegador headless es un motor de navegador (normalmente Chromium o Firefox) que se ejecuta sin pantalla. El mismo renderizado, JavaScript y pila de red que alimenta Chrome gestiona cada solicitud, pero no se pinta ninguna interfaz gráfica. Playwright, Puppeteer, Selenium WebDriver y las API comerciales como browserless.io conducen Chromium headless de esta manera.

Los navegadores headless son herramientas legítimas para pruebas de extremo a extremo, generación de capturas de pantalla y pipelines de integración continua. También son el método de automatización dominante para el scraping de precios, el relleno de credenciales, el fraude de creación de cuentas, los bots escalpers dirigidos a compras de inventario limitado y los flujos de trabajo de agentes de inteligencia artificial que interactúan con aplicaciones web.

La jerarquía de señales

Los sistemas de detección agrupan las señales en orden de fiabilidad y coste de evasión. Las señales más económicas son las comprobaciones de API que cualquier biblioteca puede parchear. Las más duraderas son los patrones de comportamiento que requieren realmente moverse como una persona.

Capa 1: Comprobaciones de API del navegador (parcheables)

La detección headless original dependía de propiedades que Chrome headless establecía de manera diferente a un Chrome instalado por el usuario:

  • navigator.webdriver: Establecido en true por WebDriver. Las bibliotecas stealth lo sobreescriben para devolver undefined. Solo detecta bots que ejecutan automatización sin modificar.
  • navigator.plugins.length: El headless de Chrome más antiguo devolvía una matriz de plugins vacía. El Chromium headless moderno la puebla, pero la composición puede diferir del perfil de navegador de un usuario real.
  • window.chrome: Una instancia de Chrome real expone window.chrome con varios métodos anidados. Los entornos headless históricamente devolvían un objeto chrome escaso o ausente. Los parches stealth lo reconstruyen.
  • Permissions API: En una sesión de navegador real abierta de forma nueva, la Permissions API devuelve 'prompt' para notifications. En headless, a menudo devuelve 'denied'.
  • navigator.languages: Los navegadores reales devuelven una matriz poblada que coincide con la configuración de idioma del usuario. Los valores predeterminados de headless a menudo producen ['en-US', 'en'] independientemente de la geografía de la IP, creando una discrepancia con las señales de la capa de red.

Capa 2: Huellas digitales de renderizado y GPU (más difíciles de parchear)

El entorno de renderizado en el que se ejecuta Chrome headless difiere de un navegador de usuario acelerado por GPU de maneras que se propagan a lo que WebGL y canvas informan.

La cadena UNMASKED_RENDERER_WEBGL de WebGL refleja el controlador de GPU. Una instancia de Chrome real en un MacBook devuelve algo como Apple M2. Una instancia headless sin paso de GPU devuelve Google SwiftShader o ANGLE (Google, Vulkan 1.3.0 (SwiftShader)). Falsificar esta cadena requiere interceptar la llamada de extensión WebGL.

Las huellas digitales de canvas miden cómo el navegador rasteriza texto y formas. Los valores de píxeles difieren entre pilas de renderizado: Chrome acelerado por hardware en un sistema operativo real con fuentes reales produce una salida diferente a Chrome headless basado en SwiftShader.

Capa 3: Huellas digitales de red y transporte (duraderas)

La huella digital TLS captura la estructura del ClientHello de TLS: ordenación de conjuntos de cifrado, lista de extensiones, preferencias de curvas elípticas. Cada pila TLS distinta tiene una huella digital característica, a veces llamada hash TLS handshake fingerprint o TLS handshake fingerprint. El Chromium headless tiene una huella digital diferente al Chrome instalado por el usuario, que difiere de Firefox, que difiere de Safari.

Las huellas digitales HTTP/2 hacen lo mismo en la capa HTTP: ordenación de marcos, parámetros SETTINGS, valores WINDOW_UPDATE y ordenación de encabezados. Una sesión de Chromium headless que parchea su user-agent para parecerse a Chrome en macOS sigue enviando marcos HTTP/2 con un patrón que coincide con la compilación headless de Chromium, no con la compilación de escritorio.

Capa 4: Señales de comportamiento (las más difíciles de falsificar)

La detección de comportamiento puntúa lo que ocurre durante una sesión en lugar de lo que el navegador informa sobre sí mismo. Un script que llama a mouse.move(x, y) no puede producir el patrón de ruido que deja una mano real. El movimiento real del cursor tiene micro-correcciones, aceleración y desaceleración gobernadas por la ley de Fitts, y una pequeña deriva lateral que ningún generador de trayectorias estándar reproduce con precisión.

El modelo de cursor de cside, cursor_v2, está entrenado en sesiones humanas reales capturadas y puntúa los patrones de movimiento de una sesión frente a la distribución que producen las manos reales. En pruebas controladas con sesiones impulsadas por Playwright, el modelo detecta el 98,2% de la automatización sin procesar con una tasa de falsos positivos en humanos inferior al 1%. Las sesiones de browserless.io en modo humanlike se detectan al 100% en la misma prueba. Para la metodología completa, consulta Capturar bots de Playwright y browserless por el movimiento del cursor.

La carrera armamentista de los navegadores stealth

Las herramientas de evasión diseñadas específicamente intentan cerrar cada una de estas brechas:

  • puppeteer-extra-plugin-stealth: parchea 19 señales conocidas a nivel de API. Efectivo contra las comprobaciones de la Capa 1. No aborda las señales de renderizado o de comportamiento.
  • Camoufox: un navegador stealth basado en Firefox que parchea la superficie de huellas digitales a nivel del navegador.
  • Navegadores anti-detect (Multilogin, AdsPower, LinkenSphere): productos comerciales que inyectan un perfil completo para que cada sesión parezca un dispositivo real distinto.
  • Proxies residenciales: cambian el origen de la red para que las señales de reputación de IP sean limpias. No afectan a las huellas digitales del navegador ni a las señales de comportamiento.

Ninguna de estas herramientas cierra la brecha de comportamiento de manera fiable a escala. Consulta Capturar bots que no quieren ser capturados para ver el análisis detallado de la pila de detección neuronal de dos etapas.

Lectura relacionada: nuestra guía completa para detectar el tráfico de agentes de IA en tu sitio web · navegadores stealth y anti-detección, explicados

Cómo funciona la detección en la práctica

Un sistema de producción de detección de navegadores headless no depende de ninguna señal única:

  1. Comprobaciones deterministas rápidas en el momento de la solicitud: estructura del user-agent, ASN de centros de datos conocidos, coincidencia de huellas digitales TLS con una lista de hash de navegadores headless.
  2. Puntuación de huellas digitales del navegador después de que se haya ejecutado JavaScript: comprobaciones de coherencia del estado de la API, salidas de renderizado, enumeración de fuentes, comprobaciones cruzadas del renderizador WebGL.
  3. Puntuación de comportamiento durante la sesión: movimiento del cursor, eventos de desplazamiento, distribuciones de temporización, patrones de relleno de formularios.
  4. Consistencia entre sesiones: la misma huella digital de dispositivo apareciendo en cuentas que nunca comparten una IP de inicio de sesión, la misma geometría del cursor apareciendo en sesiones que afirman ser dispositivos diferentes.

Cómo cside maneja la detección de navegadores headless

cside se implementa como un único fragmento de JavaScript de primera parte sin proxy ni cambio de DNS. Recopila más de 250 señales por sesión y ejecuta una pila de detección que combina filtrado basado en reglas con el modelo de comportamiento cursor_v2.

La posición del lado del cliente importa para la detección de navegadores headless: cside ve lo que realmente se ejecuta en el navegador del visitante, incluido el comportamiento a nivel de sesión y las salidas de renderizado reales. Un navegador headless configurado para servir respuestas limpias a los escáneres sigue ejecutándose dentro del entorno de recopilación de cside y sigue produciendo las señales de comportamiento y renderizado que lo delatan.

La detección está disponible a través de cside detección de bots y cside detección de agentes de IA. Para contexto sobre cómo la automatización headless encaja en el panorama más amplio de la detección de bots, consulta detección de bots: agentes de IA vs herramientas heredadas y cómo los agentes OpenClaw eluden la detección de bots.

Lecturas adicionales

Avneh Bhatia
AI Researcher

Making machines learn. Applied math major currently developing the next generation of bot detection models at cside.

FAQ

Frequently Asked Questions

La detección de navegadores headless es la práctica de identificar sesiones de navegador impulsadas por marcos de automatización (como Playwright, Puppeteer o Selenium) en lugar de por una persona real. Los sistemas de detección analizan señales en las API del navegador, el comportamiento de renderizado, las huellas digitales de red y los patrones de interacción del usuario para distinguir las sesiones automatizadas de los visitantes genuinos.

En la capa de API: navigator.webdriver establecido en true, propiedades window.chrome ausentes o incompletas, matrices de plugins de longitud cero y Permissions API devolviendo 'denied' para notificaciones en una sesión nueva. En la capa de renderizado: WebGL informando un renderizador SwiftShader o Mesa en lugar de una GPU real. En la capa de red: una huella digital TLS (TLS handshake fingerprint/TLS handshake fingerprint) que coincide con Chromium headless en lugar de un navegador instalado por el usuario. En la capa de comportamiento: trayectorias del cursor sin micro-correcciones naturales, ausencia de variación al desplazarse y consistencia de temporización submilisegundo que ninguna mano humana produce.

No. navigator.webdriver es la señal más ampliamente parcheada. Bibliotecas como puppeteer-extra-plugin-stealth la sobreescriben para devolver undefined, por lo que solo detecta bots poco sofisticados que ejecutan Playwright o Selenium sin capa de evasión. Tratarla como señal primaria produce baja cobertura contra las herramientas stealth modernas.

Los navegadores stealth parchean docenas de señales a nivel de API y pueden pasar la mayoría de las comprobaciones de huellas digitales del navegador. Sin embargo, las señales de comportamiento - particularmente el movimiento del cursor, el ritmo de desplazamiento y la temporización de interacción - no pueden parchearse a nivel de API. Las herramientas stealth cambian lo que el navegador informa, no cómo un script se mueve realmente por una página, que es donde la detección de comportamiento se mantiene.

cside ejecuta monitorización del lado del cliente en los navegadores de los visitantes reales y recopila señales en más de 250 dimensiones que cubren comportamiento de red, estado de la API del navegador, salida de renderizado, y comportamiento del cursor y desplazamiento. La pila de detección combina comprobaciones deterministas de API con un modelo de comportamiento (cursor_v2) que puntúa los patrones de movimiento del ratón frente a los que producen las manos reales. En pruebas controladas, las sesiones de Playwright son detectadas con un 98,2% de cobertura y las sesiones stealth de browserless con un 100%, con una tasa de falsos positivos en humanos inferior al 1%.

Los navegadores headless como Puppeteer, Playwright y Chrome headless renderizan páginas reales y pueden superar retos que asumen un cliente automatizado que no es un navegador, a la vez que rotan IPs para vencer los límites de tasa. Se detectan por las señales de navegador y de tiempo de ejecución que no pueden ocultar por completo. cside se apoya en más de 250 señales de navegador, dispositivo y red para señalar navegadores headless y automatizados que las herramientas basadas en IP y en retos dejan pasar.

El enfoque más fiable combina varias capas de señales en lugar de depender de una sola comprobación. Empieza con un filtrado rápido de red y de huella TLS, añade una puntuación de huella del navegador tras la ejecución de JavaScript y termina con una puntuación del comportamiento: movimiento del cursor, ritmo de scroll y tiempos de interacción. Los bots de scraping y fraude suelen parchear sus huellas, así que las señales de comportamiento son las que resisten. cside combina las cuatro capas y usa más de 250 señales por sesión para detectar la automatización que los métodos de una sola señal pasan por alto.

La detección de comportamiento es la capa que funciona cuando las comprobaciones de huella se superan. Los navegadores stealth como Camoufox, Multilogin y puppeteer-extra-plugin-stealth parchean señales de API, renderizado e identidad, pero no pueden cambiar cómo se mueve realmente un script por una página. Los métodos que puntúan el movimiento del cursor, la velocidad de scroll y los patrones de tiempos detectan estas sesiones que las comprobaciones de API y renderizado dejan pasar. El modelo cursor_v2 de cside detecta las sesiones de browserless en modo stealth al 100% en pruebas controladas.

Valora tres aspectos: la profundidad de las señales, la resistencia a la evasión y la fricción de despliegue. Una herramienta que se apoya solo en navigator.webdriver o en la reputación de IP dejará pasar el tooling stealth, así que busca una puntuación de comportamiento sobre las comprobaciones de huella y de red. Revisa la tasa de falsos positivos en humanos reales, ya que un bloqueo agresivo cuesta conversiones. Confirma que se despliega sin proxy ni cambios de DNS. cside funciona como un único script propio y puntúa más de 250 señales por sesión, incluido el comportamiento del cursor y del scroll.

cside se implementa como un único fragmento de JavaScript propio, sin proxy y sin cambios de DNS. Una vez que el script se ejecuta en los navegadores de tus visitantes, recopila más de 250 señales por sesión en dimensiones de red, API del navegador, renderizado y comportamiento, y luego puntúa cada sesión en busca de automatización. También hay un método de escaneo sin agente. Puedes empezar con el plan gratuito y hablar con el equipo para necesidades de mayor volumen. La detección está disponible mediante la detección de bots y la detección de agentes de IA de cside.

cside cobra según el uso en lugar de una licencia fija. Hay un plan gratuito para empezar, niveles medidos según el volumen de sesiones o de páginas vistas a medida que creces, y una opción de hablar con el equipo para despliegues grandes o personalizados. Como cside se implementa como un único script propio sin proxy ni cambios de DNS, no hay un coste de infraestructura aparte para enrutar el tráfico. Para conocer los niveles actuales, consulta la página de precios de cside o contacta con el equipo.

Los navegadores headless como Puppeteer, Playwright y Chrome headless renderizan páginas reales y pueden superar desafíos que asumen un cliente programado y sin navegador, mientras rotan IP para vencer los límites de tasa. Se detectan por las señales de navegador y de tiempo de ejecución que no pueden ocultar del todo. cside se basa en más de 250 señales de navegador, dispositivo y red para marcar navegadores headless y automatizados que las herramientas basadas en IP y en desafíos dejan pasar.

Monitoriza y protege tus scripts de terceros

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Empieza gratis o prueba Business con una versión de prueba de 14 días.

Interfaz del panel de cside que muestra la monitorización de scripts y el análisis de seguridad
Related Articles
Reservar una demo

¿Quieres verlo en detalle con un ingeniero?

Treinta minutos, sobre tu propio sitio. Nada de diapositivas.

Te enseñaremos:

Qué scripts de terceros se están ejecutando ahora mismo en tu sitio
En qué punto estás con los requisitos 6.4.3 y 11.6.1 de PCI DSS
Qué parte de tu tráfico son bots y agentes de IA

¿Prefieres mandarnos una pregunta?

Buscando huecos libres…

Solo humanos de verdad. Nos daríamos cuenta.

¿Problemas para reservar? Abrir el calendario en una pestaña nueva

¿Qué quieres resolver?

Cuéntanoslo en una línea y te responderemos con algo útil, no con un discurso genérico.

Solemos ayudar con:

Ver qué scripts de terceros se ejecutan en tu sitio
Evidencias para PCI DSS 6.4.3 y 11.6.1
Bots, agentes de IA y robo de cuentas

¿Prefieres reservar una hora? Elegir un hueco