
AliExpress: fingerprinting pela API Web Audio
Security NetworkÍndice
Você abre uma loja online e, de repente, a música do smartphone fica muda. Não há vídeo rodando no navegador, nenhum anúncio pode ser ouvido e nem mesmo silenciar a aba muda alguma coisa. Só quando a aba do AliExpress é fechada os fones Bluetooth voltam a alternar corretamente para o telefone.
O que parecia uma falha do Bluetooth Multipoint levou o desenvolvedor Matt Callaghan a dois arquivos JavaScript fortemente ofuscados na página inicial do AliExpress. Ambos criavam em segundo plano um grafo Web Audio que permanecia ativo. O nível na saída era zero, portanto nada era audível. Para o navegador, o sistema operacional e os fones, porém, o caminho de áudio continuava ativo.
A descoberta é tecnicamente fascinante porque um efeito colateral involuntário do hardware revelou uma medição invisível do navegador. Do ponto de vista da segurança, ela é ainda mais interessante porque Web Audio era apenas uma peça. Os scripts também verificavam Canvas, WebGL, tela, hardware, formatos de mídia suportados, WebRTC e interações do usuário. O resultado parece uma impressão digital abrangente do navegador e do dispositivo.
O que torna este caso preocupante não é um truque de áudio particularmente secreto, mas a amplitude da medição e a invisibilidade com que ela começava já na página inicial da loja.
A falha de Bluetooth que não era uma falha
Callaghan usa fones Multipoint conectados ao mesmo tempo ao PC e ao smartphone. Normalmente, ele ouve música pelo telefone. Quando o PC realmente reproduz áudio, assume a reprodução. Essa troca de prioridade passou a ficar presa quando o AliExpress estava aberto no Firefox ou no Chrome. Ele não testou outros navegadores.
Os suspeitos habituais foram descartados. Não havia elementos de áudio ou vídeo, chamada a HTMLMediaElement.play(), Media Session ativa nem arquivo de mídia identificável no tráfego de rede. O único detalhe incomum era que a interferência começava alguns segundos após o carregamento da página.
Callaghan então instrumentou a API Web Audio. Substituiu o construtor de AudioContext por um wrapper, registrou novos contextos de áudio e monitorou conexões por AudioNode.connect(). Surgiram dois contextos ativos cujos stack traces apontavam para estes scripts:
assets.aliexpress-media.com/g/AWSC/uab/1.140.0/collina.js
assets.aliexpress-media.com/g/AWSC/fireyejs/1.231.67/fireyejs.js
Os dois ficavam sob um caminho AWSC e, pelas funções, pareciam fazer parte de uma infraestrutura da Alibaba para segurança do navegador e detecção de abuso. A atribuição é plausível, mas os nomes dos arquivos, sozinhos, não a comprovam definitivamente. A Alibaba Cloud, no entanto, documenta explicitamente para seu Anti-Bot Web SDK um coletor web usado em conjunto com avaliação no servidor.
O comportamento pôde ser delimitado com mais precisão: depois que as duas famílias de scripts foram bloqueadas, nem os contextos de áudio nem as conexões com a saída foram criados na medição de controle de Callaghan. A página inicial e a busca normal de produtos continuaram funcionando no teste.
O que exatamente o grafo Web Audio faz
Web Audio não é uma função oculta de escuta, mas uma interface poderosa do navegador para jogos, sintetizadores, videoconferências e outras aplicações interativas. Em vez de apenas reproduzir um arquivo, um site conecta nós de processamento individuais formando um grafo.
De forma simplificada, os scripts examinados do AliExpress montavam esta cadeia:
OscillatorNode com onda dente de serra
-> AnalyserNode
-> ScriptProcessorNode
-> GainNode com ganho 0
-> AudioContext.destination
O oscilador gera um sinal conhecido. O AnalyserNode fornece dados do processamento e o JavaScript lê os valores de frequência. Em seguida, o GainNode reduz o nível a zero. Assim, o sinal não pode ser ouvido, mas o grafo continua conectado a AudioContext.destination e, portanto, à saída em tempo real.
Essa conexão explica o efeito colateral. Volume zero não significa processamento zero. O navegador continua calculando o grafo e, no sistema Windows de Callaghan, isso aparentemente bastou para manter ativo o caminho de áudio do PC. A troca automática Multipoint continuou interpretando o PC como fonte ativa.
Para uma medição puramente computacional, um OfflineAudioContext seria mais adequado. Ele renderiza o grafo diretamente em um buffer de memória sem enviá-lo aos alto-falantes ou ao dispositivo de áudio do sistema. No grafo do AliExpress, o oscilador e a análise também ficam antes da saída zerada. A conexão com a saída ao vivo não trazia benefício reconhecível aos dados de frequência já lidos, mas causava o efeito visível.
A Mozilla já havia registrado o mesmo efeito em 2023
Em 2026, os fones de Callaghan forneceram a pista que chamou atenção pública. Mas o efeito subjacente já estava registrado na Mozilla desde novembro de 2023 como Bug 1863193. O relato original sobre o Firefox 119 descrevia páginas do AliExpress que causavam no Windows 11 uma solicitação permanente de energia para áudio. powercfg /requests indicava um fluxo ativo embora a aba não mostrasse reprodução. O computador deixava de entrar automaticamente em suspensão. Ao fechar a aba, a solicitação desaparecia.
O desenvolvedor da Mozilla Karl Tomlinson ativou o log de Web Audio. O registro mostrou duas vezes exatamente a cadeia descrita depois por Callaghan: OscillatorNode, AnalyserNode, ScriptProcessorNode, um GainNode mudo e AudioDestinationNode. Tomlinson observou uso permanente semelhante do dispositivo no Chrome e anotou que o AliExpress poderia encerrá-lo com AudioContext.suspend().
É uma confirmação independente importante. O efeito colateral no hardware não depende apenas da interpretação de Callaghan sobre um script ofuscado. Anos antes, a Mozilla havia registrado diretamente no navegador o grafo ativo e seu impacto no gerenciamento de energia do Windows. O bug continua aberto. Ele também mostra uma responsabilidade compartilhada: o AliExpress poderia suspender o contexto após a medição, e o navegador poderia desligar mais cedo do dispositivo um grafo efetivamente mudo e desnecessário.
Sem microfone e sem ultrassom no ambiente
Aqui, a precisão da linguagem importa. Nesse teste, o AliExpress não gravou o microfone nem ouviu sons no ambiente. O acesso ao microfone passaria por getUserMedia() e exigiria autorização do usuário.
Também é enganosa a ideia de que a loja teria emitido um sinal ultrassônico pelos alto-falantes e depois o capturado fisicamente. A medição ocorreu dentro do processamento de áudio do navegador. A onda dente de serra foi calculada, analisada e zerada antes da saída. O efeito nos fones surgiu porque o grafo virtual continuava ligado à saída real.
Por que cálculos idênticos podem produzir resultados diferentes
O processamento digital de sinais envolve muitas operações de ponto flutuante. Arquitetura da CPU, bibliotecas matemáticas, decisões do compilador, implementação do navegador e arredondamento podem gerar pequenas diferenças. O padrão Web Audio cita expressamente OscillatorNode, DynamicsCompressorNode, taxa de amostragem, latência e medições de tempo como possíveis superfícies de fingerprinting. Por isso, os navegadores devem limitar essas diferenças.
Um resultado Web Audio, porém, não é um número de série mágico do hardware. Vários dispositivos podem gerar o mesmo valor, e o navegador pode uniformizar ou modificar os resultados. A capacidade de reconhecimento cresce apenas em combinação com outros atributos.
O método é usado pelo menos desde 2016
Fingerprinting de áudio não é uma descoberta nova de 2026. Steven Englehardt e Arvind Narayanan examinaram um milhão de sites na pesquisa OpenWPM publicada na ACM CCS em 2016. Encontraram fingerprinting por AudioContext em três scripts presentes em 67 sites. Segundo a análise manual, dois desses scripts realmente usavam a técnica de forma ativa.
Ali também um oscilador gerava um sinal conhecido, que era processado, lido e convertido em hash. Uma das variantes documentadas levava o grafo por um AnalyserNode, um ScriptProcessorNode e um GainNode mudo até a saída. A estrutura é notavelmente próxima do padrão do AliExpress. Os pesquisadores de Princeton já ressaltavam que nenhum microfone era necessário e que técnicas de fingerprinting normalmente são combinadas.
O que há de novo no caso AliExpress não é a ideia básica. É a descoberta concreta em um dos maiores marketplaces do mundo, a combinação ampla de outros atributos e, principalmente, o canal lateral que tornou a medição visível.
O valor de áudio era apenas uma peça do quebra-cabeça
Nos bundles examinados, Callaghan encontrou consultas e medições de muitos outros atributos:
- renderização Canvas e
toDataURL() - renderizador WebGL, extensões e precisão de shaders
- dimensões de tela e viewport, além de Device Pixel Ratio
hardwareConcurrencyedeviceMemory- plugins instalados e formatos de mídia suportados
- comportamento WebRTC e tempos de desempenho
- eventos de mouse, toque, foco e rolagem
- movimento e orientação do dispositivo
- propriedades que podem indicar automação do navegador ou bots
O código também continha rotinas para serializar e criptografar resultados, além de transmiti-los com fetch() ou sendBeacon(). No cliente, portanto, está comprovado que um conjunto amplo de dados úteis para fingerprinting pode ser coletado e enviado a serviços da Alibaba.
Não está comprovado o que acontece no servidor. Pelo navegador, não é possível ver a duração do armazenamento nem uma eventual associação posterior com contas, pedidos, outros serviços da Alibaba ou perfis de publicidade. O próprio Callaghan declara expressamente esse limite.
Na política de privacidade, o AliExpress cita dados do navegador e sistema operacional, características de hardware e software, identificadores únicos de dispositivo, padrões de uso e interações. Entre as finalidades, além da operação e personalização, estão a detecção de fraude, lavagem de dinheiro e incidentes de segurança. A política não torna transparente a implementação técnica observada, mas mostra que dados extensos de dispositivo e uso fazem parte do modelo descrito.
Fingerprinting não é automaticamente rastreamento publicitário
Impressões digitais do navegador são usadas em contextos muito diferentes. Redes de publicidade podem reconhecer um navegador mesmo depois que os cookies são apagados. Lojas e serviços de pagamento usam sinais semelhantes para avaliação de risco, invasão de contas, abuso de cupons, scraping, bots ou compras automatizadas.
As duas finalidades não se excluem. O mesmo identificador pode atender simultaneamente a interesses de segurança e marketing. O JavaScript encontrado, porém, não prova uma campanha publicitária concreta entre diferentes sites. Concluir diretamente que “o AliExpress rastreia todos os usuários em todos os sites” vai além das evidências disponíveis.
Mesmo assim, o caso permanece problemático para a segurança:
- A medição começava já na página inicial geral, não apenas no login ou pagamento.
- Os scripts eram fortemente ofuscados e praticamente incompreensíveis para usuários.
- A coleta abrangia muito mais que um único sinal antibot.
- O grafo de áudio ativo não era indicado de forma útil na interface e não terminava ao silenciar a aba.
- Uma função de segundo plano interferia tanto no caminho local de áudio que alterava o comportamento de hardware externo.
Uma defesa compreensível contra fraude não precisa necessariamente publicar um manual de implementação. Mas precisa de minimização de dados, finalidade clara e uma interface cujo comportamento não contradiga as expectativas do usuário. Uma aba silenciosa de uma loja não deveria ocupar um caminho de áudio em tempo real.
Quão única era realmente essa impressão digital de áudio?
O desenvolvedor do Firefox Tom Ritter extraiu o cálculo Web Audio em questão e o comparou com dados de telemetria do Firefox. O resultado relativiza bastante as descrições alarmistas.
Desde o Firefox 118, Web Audio usa em todas as plataformas a biblioteca matemática FDLIBM para reduzir diferenças dependentes do sistema. Na avaliação de Ritter, 99,24% dos usuários se concentravam em apenas três resultados. Em outros 0,76%, o ponto de medição falhava e devolvia zero. Os três grandes grupos correspondiam basicamente a classes de CPU: x86 ou x64 sem FMA, x64 com FMA e ARM com NEON.
Para o método específico do AliExpress isso significa que, no Firefox, o valor de áudio não era individual para quase todos os usuários estudados. Ele revelava mais uma classe ampla de processador do que um dispositivo específico. Restava, porém, uma pequena cauda longa com outros valores, e valores raros podem destacar ainda mais os sistemas correspondentes.
Um valor isolado pouco distintivo não se torna inofensivo quando integra um perfil forte formado por gráficos, hardware, comportamento e informações de conta existentes.
Fingerprinting trabalha com combinações. Tamanho de tela, fuso horário ou classe de CPU costumam ser triviais isoladamente. Canvas, WebGL, fontes, dados de hardware, características do navegador, padrões de interação e um login existente podem, juntos, separar muito mais. O valor Web Audio não precisa ser único para continuar útil no escore geral.
A proteção do navegador é uma corrida armamentista com efeitos colaterais
Os navegadores seguem estratégias diferentes. O Firefox uniformiza certos cálculos e bloqueia serviços conhecidos de fingerprinting. Desde o Firefox 145, proteções mais amplas são ativadas primeiro no modo privado e com a Proteção Aprimorada contra Rastreamento no nível estrito. A Mozilla reconhece que uma uniformização mais agressiva pode quebrar funções legítimas.
O Brave altera levemente resultados úteis para fingerprinting, como valores de Canvas e Web Audio. Esse chamado Farbling permanece estável dentro de uma sessão e de um site, mas deve produzir resultados diferentes entre sites e sessões. Assim, uma aplicação ainda recebe valores plausíveis, mas tem mais dificuldade para usá-los como identificador global duradouro.
O WebKit limita no Safari várias superfícies de fingerprinting, como fontes instaladas localmente e certas informações do dispositivo. Em interfaces especialmente arriscadas, às vezes deixa de implementá-las até existir um caminho considerado seguro. Isso mostra o conflito central: as mesmas interfaces que viabilizam aplicações web complexas também ampliam a superfície de medição do navegador.
Nenhum navegador comum pode garantir que toda forma de fingerprinting desapareça. Quando um atributo é uniformizado, os fornecedores recorrem a outros atributos ou sinais de comportamento. E uma combinação especialmente exótica de extensões, fontes e proteções manuais pode, no pior caso, tornar o próprio navegador ainda mais raro.
O que os usuários podem fazer
A melhor base é um navegador atualizado com proteção contra fingerprinting ativa. No Firefox, o nível mais amplo exige Proteção Aprimorada contra Rastreamento no modo estrito ou uma janela privada. O Brave ativa Shields e a defesa contra fingerprinting por padrão. No Safari, devem ser usadas as versões atuais do sistema e do navegador. Tor Browser e Mullvad Browser vão além em sessões sensíveis: tentam fazer com que o maior número possível de usuários apareça no mesmo grupo com uma impressão semelhante. Neles, justamente, não se deve adicionar personalizações ou extensões extras.
Janelas privadas, sozinhas, não são uma resposta completa. Elas limitam o estado armazenado, mas não tornam automaticamente invisíveis as características do hardware e do navegador. Apagar cookies também não redefine uma impressão da mesma forma que remove um ID de cookie.
Uma VPN resolve outro problema. Substitui o endereço IP público visível e, conforme o uso, protege o transporte até o provedor da VPN. Mas não modifica automaticamente Canvas, WebGL, cálculos de áudio, fontes ou características de hardware. Uma VPN pode ser útil, mas sozinha não protege contra fingerprinting do navegador.
Bloquear especificamente os dois scripts com uBlock Origin
Callaghan publicou dois filtros deliberadamente restritos para o uBlock Origin:
! AliExpress AWSC fingerprinting scripts
||assets.aliexpress-media.com/g/AWSC/uab/*/collina.js$script,domain=aliexpress.com
||assets.aliexpress-media.com/g/AWSC/fireyejs/*/fireyejs.js$script,domain=aliexpress.com
Depois de adicioná-los em Meus filtros, é preciso fechar abas do AliExpress que já estejam abertas. Bloquear um script depois não encerra um contexto de áudio que ele já criou.
Essas regras são um retrato do momento. Caminhos, versões e nomes podem mudar. Como os scripts provavelmente pertencem à infraestrutura antibot e de avaliação de risco, também podem surgir CAPTCHAs adicionais ou problemas no login e checkout. Quem não conseguir concluir uma transação legítima pode desativar temporariamente a regra apenas para esse processo e fechar a aba em seguida.
Bloquear todo o host assets.aliexpress-media.com no DNS seria muito mais grosseiro. Outros recursos da loja podem estar hospedados ali. Uma regra estreita de URL é mais controlável que um bloqueio geral do domínio.
Desativar JavaScript por completo raramente é prático
Sem JavaScript, essa medição não funciona. Mas lojas modernas quase deixam de funcionar. Uma desativação global também cria um estado incomum do navegador e não substitui a separação adequada de contas, perfis e atividades sensíveis.
Para pesquisas particularmente delicadas, um navegador separado e pouco modificado pode ser útil. Isso limita a associação ao perfil cotidiano, mas não garante anonimato. Endereço IP, login, dados de pagamento e sinais no servidor continuam inalterados.
A questão jurídica vai além dos cookies
Na Europa, “sem cookies” não é sinônimo de “sem consentimento”. As Diretrizes 2/2023 definitivas do Comitê Europeu para a Proteção de Dados tratam o âmbito técnico do artigo 5.º, n.º 3, da Diretiva ePrivacy deliberadamente de forma mais ampla que os cookies clássicos. Também pode importar o acesso a informações armazenadas no equipamento terminal ou geradas nele por software e hardware.
Se a implementação concreta do AliExpress é permitida em um caso específico depende, entre outros fatores, da finalidade real, necessidade, implementação regional das regras ePrivacy, transparência e processamento posterior. Combater fraude pode ser uma finalidade legítima. Isso não responde automaticamente se cada atributo coletado na página inicial é necessário para essa finalidade ou se seria exigido consentimento.
Este artigo não substitui uma análise jurídica. Tecnicamente, porém, o caso mostra por que banners de cookies não representam por completo a realidade da identificação moderna. Um usuário pode rejeitar todos os cookies visíveis de marketing e ainda ser medido por JavaScript do próprio site.
Base de teste e limitações
Revisei pela última vez a análise técnica, as informações dos navegadores e as políticas públicas em 31 de agosto de 2026. A descoberta concreta no AliExpress se baseia no teste documentado por Callaghan no Windows com Firefox e Chrome e em sua instrumentação da API Web Audio. Somam-se o relatório independente da Mozilla, a avaliação de Ritter do método de áudio extraído, a pesquisa OpenWPM e a documentação primária de W3C, Mozilla, Brave, WebKit, Alibaba Cloud, AliExpress e EDPB.
As duas URLs versionadas dos scripts citadas por Callaghan ainda respondiam, na minha verificação, com HTTP 200 e o tipo application/javascript. No entanto, não executei pessoalmente os scripts em uma conta controlada do AliExpress nem reproduzi o efeito Bluetooth com meus próprios fones. Outros sistemas, navegadores, regiões, testes A/B ou versões alteradas dos scripts podem se comportar de modo diferente. Armazenamento no servidor, pontuação, associação de identidade e uso dos valores transmitidos não estavam visíveis e, portanto, não são constatações próprias deste artigo.
Minha conclusão
O caso não prova uma vigilância ultrassônica secreta nem que um único valor de áudio identifique cada computador de forma inequívoca. Ele é uma ótima evidência de como sites modernos podem usar o navegador como instrumento de medição sem que os usuários vejam algo.
A explicação de combate a fraude é tecnicamente crível. Um grande marketplace precisa combater bots, invasões de conta, fraude em pagamentos e abuso de cupons. Mas isso não justifica automaticamente toda medição em qualquer ponto da jornada do cliente. Quem coleta já na página inicial características de áudio, gráficos, hardware, WebRTC e comportamento deve responder a perguntas sobre necessidade, transparência e efeitos colaterais.
No fim, não foi um painel de privacidade que tornou a medição visível. Foi um par de fones Bluetooth que se recusou a fingir que o navegador estava em silêncio.
Até a próxima,
Joe
Fontes
- Matt Callaghan: análise original dos scripts do AliExpress e filtros do uBlock
- Tom Ritter: valores e classes de CPU da impressão Web Audio do AliExpress no Firefox
- Mozilla Bug 1863193: AliExpress mantém ativo o caminho de áudio do Windows
- Princeton Web Census: fingerprinting por AudioContext em 67 sites
- W3C: Web Audio API, considerações de segurança e privacidade
- AliExpress: política de privacidade sobre dados de dispositivo, uso e segurança
- EDPB: Diretrizes 2/2023 sobre o âmbito técnico do artigo 5(3) da Diretiva ePrivacy


