WebGPU fingerprinting: la siguiente generación después de Canvas y WebGL
WebGPU expone capacidades de hardware más profundas que Canvas y WebGL juntos — y ya está disponible en Chrome, Edge y Firefox. Qué puede revelar y por qué sustituirá a las técnicas de fingerprinting anteriores en los próximos 2-3 años.
WebGPU llegó con Chrome 113 en 2023. Para 2026, está disponible en todos los navegadores principales sobre todas las plataformas principales. A diferencia de WebGL —que era una API de navegador que envolvía OpenGL ES 2.0—, WebGPU es una interfaz directa a las API de GPU modernas: Vulkan en Linux, Metal en macOS, DirectX 12 en Windows.
Esto cambia lo que un navegador puede consultar sobre el hardware subyacente. El fingerprinting con Canvas y WebGL se apoyaba en salidas de renderizado. WebGPU permite consultas directas de capacidades a la propia GPU, exponiendo detalles arquitectónicos que la salida de renderizado solo puede insinuar.
Para el fingerprinting, esto es una mejora de salto cualitativo en la calidad de la señal.
Qué expone WebGPU que WebGL no expone
La superficie de diagnóstico de WebGL es limitada. La pieza más útil es la extensión WEBGL_debug_renderer_info, que devuelve las cadenas de fabricante y renderizador — a menudo suplantadas por los navegadores anti-detección o eliminadas por las funciones de privacidad.
WebGPU proporciona los objetos GPUAdapter y GPUAdapterInfo con datos sustancialmente más ricos:
- Fabricante — el identificador del fabricante de la GPU (NVIDIA, AMD, Intel, Apple, Qualcomm).
- Arquitectura — la familia de arquitectura de la GPU (Ampere, RDNA 2, Xe-LP, Apple M2, Adreno).
- Dispositivo — el modelo concreto cuando está disponible.
- Descripción — una cadena legible para humanos.
Más allá de la identificación, WebGPU expone los límites de la GPU — las capacidades numéricas exactas del hardware. Son consultables a través de la interfaz GPUSupportedLimits e incluyen más de 30 propiedades numéricas:
- Dimensiones máximas de textura —
maxTextureDimension2D - Tamaño máximo de búfer —
maxBufferSize - Número máximo de bind groups —
maxBindGroups - Dimensiones máximas de workgroup de cómputo
- Número máximo de atributos de vértice
- Requisitos de alineación de los búferes de almacenamiento
Cada uno de estos valores lo establece el controlador de la GPU en función de la capacidad del hardware. Distintas generaciones de GPU, incluso dentro del mismo fabricante, tienen combinaciones de límites diferentes. Una GPU de 2019 tiene límites distintos a los de una GPU de 2023 de la misma familia de fabricante.
Por qué esto es más difícil de suplantar
Los navegadores anti-detección suplantan Canvas y WebGL interceptando las llamadas a la API y modificando los resultados. Las respuestas de Canvas son hashes de píxeles renderizados — el navegador puede renderizar y luego cambiar el hash. A WebGL se le consulta un número reducido de cadenas que pueden sustituirse en bloque.
WebGPU es diferente. La superficie de la API es grande — cientos de métodos y propiedades. Cada llamada necesita un valor de retorno plausible. Una capa de suplantación debe:
- Presentar una identidad coherente en todos los límites numéricos — una GPU que afirma ser una NVIDIA RTX 4090 debe devolver cada valor de límite que coincida con ese hardware.
- Gestionar la ejecución real de cómputo. WebGPU permite ejecutar compute shaders. Si una capa de suplantación afirma un rendimiento alto pero entrega un cómputo lento, la discordancia es detectable mediante temporización.
- Seguir la evolución a través de las actualizaciones de controladores. Cada versión del controlador de GPU tiene límites ligeramente distintos. Las tablas de suplantación estáticas quedan obsoletas a medida que se publican nuevas versiones de controladores.
El hardware real proporciona todo esto gratis. Suplantar hardware exige mantener una base de datos de combinaciones de límites verdaderas por modelo de GPU y por versión de controlador — una carga de mantenimiento continua que la mayoría de los navegadores anti-detección aún no ha asumido.
El rendimiento de cómputo como huella digital
WebGPU permite ejecutar compute shaders arbitrarios en el navegador. Esto significa que los sistemas de detección pueden ejecutar cargas de trabajo estandarizadas y medir cuánto tardan.
Un benchmark de descifrado de hashes, una multiplicación de matrices o una tarea de cómputo cercana al renderizado se ejecutan a velocidades determinadas por el hardware subyacente. Dos visitantes que afirman tener el mismo modelo de GPU pero entregan un rendimiento de cómputo diferente están mintiendo sobre el hardware.
La técnica evita por completo la suplantación estática de huellas. Un visitante puede afirmar cualquier cadena de GPU que quiera. No puede afirmar un rendimiento de cómputo que no tiene.
La contrapartida es la experiencia de usuario. Ejecutar un compute shader en segundo plano consume ciclos de GPU y puede percibirse como lentitud. Esto limita la agresividad con la que puede usarse la técnica — normalmente como una comprobación puntual en sesiones sospechosas, no como monitorización continua.
La disponibilidad de funciones como señal
WebGPU expone funciones opcionales a través de GPUAdapter.features. Algunas GPU admiten extensiones específicas:
timestamp-query— requiere una GPU moderna con contadores de rendimientoshader-f16— coma flotante de media precisión, habitual en GPU móvilestexture-compression-bc— Block Compression, estándar en escritoriotexture-compression-etc2— formato de textura móviltexture-compression-astc— formato de textura móvil
El conjunto de funciones es determinista por modelo de GPU. Una máquina Windows que afirma tener funciones móviles de Adreno queda atrapada. Un dispositivo móvil que afirma formatos de compresión exclusivos de escritorio queda atrapado.
Coherencia con WebGL
Antes de WebGPU, los navegadores tenían una superficie principal de consulta de GPU: WebGL. Ahora tienen dos, y deben coincidir.
WebGL y WebGPU exponen la misma GPU subyacente. Sus respuestas deben ser coherentes. Un navegador que reporta NVIDIA RTX 4080 a través de WebGL pero devuelve límites de WebGPU que coinciden con una GPU Intel integrada es imposible en hardware real.
La coherencia entre API es otra señal para la detección. Suplantar una API es sencillo. Suplantar dos API de forma mutuamente coherente es significativamente más difícil — y los navegadores anti-detección actuales en gran medida no lo hacen.
Qué expone WebGPU sobre el SO y el controlador
Más allá de la identificación de la GPU, WebGPU expone contexto sobre la pila gráfica:
- En Windows, WebGPU puede revelar si se está usando Direct3D 11 o Direct3D 12, lo que se correlaciona con la versión del SO y la era del controlador.
- En macOS, la compatibilidad con versiones de Metal revela la versión de macOS — porque las versiones de Metal llegan con las actualizaciones del SO.
- En Linux, los niveles de compatibilidad con Vulkan exponen la distribución y el origen del controlador (NVIDIA propietario frente a Mesa de código abierto, por ejemplo).
Ninguna de estas señales es directa — cada una requiere interpretación. Pero, en conjunto, construyen una imagen de la pila de software subyacente que se correlaciona con la huella digital de navegador reportada. Las discordancias indican suplantación.
Calendario de adopción en los stacks de detección
El fingerprinting con WebGPU aún no es una técnica de detección mayoritaria en 2026, por tres razones:
- La compatibilidad de los navegadores aún se está estabilizando. WebGPU en Firefox llegó en 2024, pero con una cobertura de funciones limitada. WebGPU en Safari llegó en 2024, pero con límites diferentes a los de Chrome. Los sistemas de detección necesitan una cobertura amplia antes de poder apoyarse en señales de WebGPU.
- La compatibilidad con WebGPU entre usuarios reales sigue siendo incompleta. Los dispositivos antiguos no tienen GPU que admitan las funciones de WebGPU. Un sistema de detección que penalice a los visitantes sin WebGPU corre el riesgo de bloquear a usuarios legítimos con hardware de hace 5 años.
- Los navegadores anti-detección aún no han desarrollado una suplantación completa de WebGPU, lo que significa que las señales basadas en WebGPU son actualmente eficaces contra atacantes sofisticados que asumen haber ocultado sus rastros. Esto cambiará a medida que aumente la adopción de la detección y las herramientas de suplantación respondan.
El horizonte de adopción de 2-3 años es realista. Para 2027-2028, las señales de WebGPU serán tan centrales para la detección de bots como lo es WebGL hoy. La pregunta para los equipos de detección es cuándo empezar a recopilar datos de WebGPU — la respuesta es ahora, para que la línea base histórica exista cuando las señales pasen a ser primarias.
Qué significa esto para los defensores
El canvas fingerprinting es una técnica madura. El fingerprinting con WebGL es una técnica madura. Ambas están siendo suplantadas activamente por las herramientas anti-detección con un éxito razonable.
El fingerprinting con WebGPU es una técnica joven. Las herramientas de suplantación no se han puesto al día. Esto crea una ventana —probablemente de 18-36 meses— en la que las señales de WebGPU separan limpiamente a los usuarios reales de los bots sofisticados. Esa ventana merece la inversión.
Las señales que produce también son estructuralmente más difíciles de suplantar que las de Canvas o WebGL. El renderizado puede interceptarse. El rendimiento de cómputo no. Los conjuntos de funciones pueden falsearse, pero no de forma coherente en toda la superficie de la API. Cada generación de técnicas de fingerprinting eleva el coste de la suplantación. WebGPU lo eleva sustancialmente.
Para las plataformas que se toman en serio la detección de bots en 2026 y más allá, WebGPU es hacia donde se mueve la señal.