Como funcionam os navegadores antidetect: a explicação técnica completa

Superfícies de fingerprint, geração de identidade coerente, isolamento de armazenamento em disco, roteamento por perfil e os limites honestos de toda a abordagem.
Um navegador antidetect faz quatro trabalhos. Armazena separadamente os dados de navegação de cada perfil, controla a identidade de dispositivo que cada perfil informa, encaminha o tráfego de cada perfil de forma independente e mantém os três consistentes ao longo do tempo. Este artigo percorre como cada trabalho é feito, no nível do mecanismo, e termina com o que a abordagem não consegue fazer.
As superfícies de fingerprint
Comece pelo que uma página consegue ler, porque todo o resto é uma resposta a isso. Um script em qualquer site pode fazer perguntas ao navegador, e as respostas descrevem a máquina. As superfícies se agrupam naturalmente.
| Superfície | O que a página lê |
|---|---|
| Navigator | Nome e versão do navegador, plataforma, lista de idiomas, número de processadores e memória informados, suporte a toque |
| Tela | Largura, altura, área de trabalho disponível, profundidade de cor, proporção de pixels do dispositivo |
| Canvas | Os pixels exatos produzidos ao desenhar texto e formas fora da tela, reduzidos a um valor estável por hash |
| WebGL | As strings de fabricante e renderizador gráfico, mais hashes de cenas renderizadas |
| Áudio | A saída de um oscilador passada pelo grafo de processamento de áudio, que varia conforme a pilha |
| Fontes | Quais tipos de letra estão instalados, inferidos a partir de medições de texto |
| Fuso horário e relógio | O fuso e o deslocamento informados, comparados com a origem do tráfego |
| Rede | O próprio endereço, a visão do WebRTC sobre os candidatos de conexão e o formato do handshake TLS |
Nenhuma linha isolada identifica uma máquina. A combinação identifica, e é também na combinação que as mentiras são pegas: valores que não poderiam pertencer a uma única máquina real são um sinal mais forte do que qualquer valor sozinho.
A coleta é barata e silenciosa. Todo valor da tabela está disponível a qualquer página por APIs documentadas, sem pedido de permissão, e a maior parte chega no primeiro segundo da visita. Qualquer que seja a sua posição sobre a prática, é um fato permanente da web moderna e a linha de base contra a qual um navegador antidetect é projetado.
Como uma identidade coerente é gerada
A abordagem ingênua é interceptar cada pergunta e randomizar a resposta. Ela falha por uma razão estrutural. As respostas descrevem uma só máquina, então são correlacionadas, e respostas aleatórias independentes quebram as correlações. Um user agent do Windows ao lado de fontes que só vêm com o macOS, um tamanho de tela que nenhum notebook jamais teve, uma string gráfica que nunca coexistiu com a plataforma declarada: cada uma é uma contradição que um verificador testa a baixo custo.
Por isso um navegador antidetect que funciona gera a identidade como um conjunto. Parte de uma classe de máquina real e comum e deriva cada valor dessa escolha. A plataforma define a lista plausível de fontes, as strings gráficas e o suporte a toque. A tela vem de tamanhos que essa classe de máquina realmente tem. O idioma e o fuso horário vêm da região pretendida do perfil. Os valores concordam entre si porque foram escolhidos juntos, a partir de uma única descrição de uma única máquina.
A segunda propriedade importa tanto quanto: o conjunto é armazenado. Ele é gravado no perfil quando este é criado, e toda sessão informa os mesmos valores, porque um dispositivo que muda entre visitas descreve um hardware que ninguém possui. Estabilidade é a maior parte do que plausível quer dizer.
Isolamento de armazenamento em disco
O trabalho de armazenamento é o menos glamoroso e o mais absoluto. Cada perfil possui um diretório, e tudo o que um navegador persiste vive dentro dele: o banco de cookies, o Local Storage, o IndexedDB, o cache HTTP, os registros de service workers, o estado das extensões, o histórico e as credenciais salvas. Dois perfis são dois diretórios disjuntos, e cada navegador em execução aponta para o seu.
A disjunção total é a propriedade a verificar, porque o isolamento parcial falha em silêncio. Cookies são fáceis de separar. O cache pode identificar um navegador que retorna pelos recursos que guardou. Service workers podem conter identificadores e continuar rodando entre visitas. O IndexedDB é onde os aplicativos modernos guardam os registros em que realmente confiam. Um isolamento que cobre os armazenamentos famosos e compartilha qualquer outro isolou a parte visível do problema.
A persistência é a outra metade. As sessões acumulam valor: verificações de segurança concluídas, histórico de login estabelecido, o perfil de um visitante recorrente. Um perfil mantém seu diretório entre as sessões, o que torna possível o trabalho com contas. A gravação ao fechar é o que torna o diretório durável, e é por isso que encerrar à força o processo de um perfil no meio da sessão pode custar a sessão que ele acabou de estabelecer.
Roteamento de rede
Cada perfil carrega sua própria rota, aplicada quando seu navegador inicia, de modo que o tráfego sai pelo proxy desse perfil sem tocar nas configurações do sistema nem na rota de qualquer outro perfil.
- O proxy é atribuído por perfil, não por máquina. Os navegadores comuns usam o proxy do sistema. Aqui, cada perfil em execução se conecta por seu próprio endpoint.
- A resolução de nomes também passa pela rota, porque uma requisição que chega de um país enquanto suas consultas chegam de outro é uma contradição na camada de rede.
- O WebRTC é restringido para concordar com a rota. Deixado por conta própria, ele pode expor candidatos de conexão que o proxy nunca tocou.
- O fuso horário e o idioma são ajustados ao país da rota, porque o endereço é o único valor que não pode ser gerado, então o resto da história precisa concordar com ele.
A rota é também o componente que mais vale verificar de forma independente, porque é comprada de terceiros. Testar um endpoint antes de atribuí-lo e ler de volta o endereço observado, não o anunciado, detecta uma falha enquanto ela ainda é um problema de configuração e não um problema de conta.
O que o próprio navegador altera
Há dois lugares em que uma ferramenta pode alterar as respostas que uma página recebe, e a diferença entre eles é a bifurcação mais técnica deste assunto.
| Abordagem | Como funciona | O ponto fraco |
|---|---|---|
| Injeção de script | Uma extensão ou script injetado sobrescreve as funções que a página chama, de modo que leituras de canvas e consultas ao navigator devolvem valores substituídos | As sobrescritas são elas mesmas visíveis. Funções alteradas podem ser reconhecidas como alteradas, e qualquer superfície esquecida pelo injetor continua respondendo com o valor real |
| Dentro do código do próprio navegador | A implementação do navegador responde com os valores armazenados do perfil, nos caminhos de código em que os valores reais são produzidos | Muito mais trabalho para construir e manter, e é isso que distingue as ferramentas feitas para o fim das extensões |
A injeção é onde essa categoria começou, e seu teto é bem conhecido: uma página pode verificar se as funções nativas ainda parecem nativas e pode alcançar a mesma superfície por um caminho que a injeção não cobriu. Por isso os navegadores antidetect feitos para o fim fazem as alterações dentro do próprio navegador, de modo que a identidade armazenada é o que a implementação informa por todo caminho que a lê.
O que abrir um perfil realmente faz
- A identidade armazenada é carregada: um conjunto coerente de valores de dispositivo, o mesmo conjunto da vez anterior.
- O navegador inicia sobre o diretório do próprio perfil, de modo que todo armazenamento persistente é do próprio perfil.
- A rota é aplicada: o proxy, a resolução de nomes passando por ele, o WebRTC restrito a ele.
- A sessão roda, acumulando estado dentro do diretório.
- Ao fechar, o estado é gravado, de modo que a próxima abertura retoma o mesmo dispositivo, o mesmo armazenamento e a mesma rota.
Cada parte dessa lista é verificável por fora. Abra uma página de teste de fingerprint duas vezes e compare os valores entre as aberturas. Olhe o diretório do perfil no disco. Leia de volta o endereço observado. Uma ferramenta dessa categoria deve convidar a essa verificação, porque o mecanismo é o produto.
Os limites honestos
A abordagem tem bordas, e conhecê-las faz parte de usá-la com competência.
- Ela não consegue tornar um navegador impossível de identificar, e ninguém consegue medir uma afirmação dessas de qualquer modo. O alvo realista é um perfil que se leia como uma máquina comum, internamente consistente, e que permaneça estável.
- Ela não corrige contradições que você introduz. Uma rota em um país com um fuso horário em outro é um erro de configuração, e a ferramenta só pode tornar fácil a configuração correta.
- Ela não cobre o comportamento. Tempo, volume e ritmo são lidos junto com o ambiente, e uma frota agindo em sincronia se identifica por mais limpo que seja cada ambiente.
- Ela não cobre a identidade declarada. Dados de recuperação compartilhados, meios de pagamento compartilhados e textos reaproveitados ligam contas pelos registros da própria plataforma, muito acima do navegador.
- Ela não altera as regras da plataforma. O isolamento separa ambientes legítimos. O que uma plataforma permite é decisão da plataforma, e nenhum resultado em uma plataforma que não controlamos é prometido aqui.
Leia os limites como uma definição, não como uma decepção. Um navegador antidetect é um instrumento de consistência: armazenamento separado, uma identidade estável e plausível, uma rota correspondente, mantidos juntos por perfil e repetidos de forma idêntica a cada abertura. Esse é todo o mecanismo, e tudo o mais que se escreve sobre a categoria é uma variação dele.

