O que é a identificação por impressão digital do WebGL?

Identificação por impressão digital do WebGL é um método de identificação de navegador que lê detalhes no nível da GPU a partir da API WebGL para criar uma assinatura de dispositivo praticamente única. Ele combina a string do fabricante da placa de vídeo, a string completa do renderizador do driver e a saída de pixels de uma cena 3D renderizada. Não é necessária nenhuma permissão do usuário para coletar qualquer um desses valores.

Como funciona a identificação por impressão digital do WebGL?

Quando uma página é carregada, o JavaScript consulta o contexto WebGL para obter dois parâmetros de extensão: UNMASKED_VENDOR_WEBGL e UNMASKED_RENDERER_WEBGL. Essas funções retornam o fabricante da GPU e a string completa do renderizador, incluindo o modelo da placa, a versão do driver e o backend de renderização. Em um computador com Windows equipado com uma placa NVIDIA, essa string poderia ser “ANGLE (NVIDIA, NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0 ps_5_0, D3D11)” (BrowserLeaks - Teste de impressão digital do WebGL, 2025).

Além da string do driver, um script pode renderizar uma cena 3D oculta e ler a saída de pixels resultante. Diferentes tipos de hardware de GPU e versões de driver produzem resultados de rasterização sutilmente diferentes; assim, o hash de pixels acrescenta outra camada de entropia. Juntos, esses dois sinais podem identificar um dispositivo entre sessões, mesmo após a limpeza dos cookies.

Os sistemas de rastreamento e antifraude utilizam dados do WebGL como um dos elementos de uma pilha mais ampla de impressões digitais. Eles se combinam naturalmente com as impressões digitais de canvas e de áudio, pois todos os três sinais provêm de pipelines de renderização dependentes de hardware, o que torna mais difícil falsificá-los de forma consistente.

Perguntas frequentes

Não. Os valores do WebGL provêm do hardware da GPU e das informações do driver, e não de dados armazenados no navegador. A limpeza dos cookies não tem efeito sobre o que a placa de vídeo reporta ao navegador.

A string do renderizador, por si só, costuma ser suficiente para identificar um dispositivo como pertencente a um modelo específico e a uma versão específica do driver. A maioria dos sistemas de rastreamento combina essa informação com sinais relacionados a canvas, áudio e fontes para alcançar maior precisão em populações de usuários mais amplas.

Os sistemas de detecção de bots comparam a string do renderizador WebGL com perfis conhecidos de navegadores sem interface gráfica. Ambientes sem interface gráfica costumam apresentar strings de GPU genéricas ou inconsistentes, o que gera um sinal de risco e pode acionar etapas adicionais de verificação.