LinkedIn está escaneando extensões do navegador
(404privacy.com)- O LinkedIn envia solicitações de URL
chrome-extension://no Chrome para verificar se determinadas extensões estão instaladas, e os itens não instalados ficam registrados como erros de falha de solicitação no console das ferramentas de desenvolvedor - Como o LinkedIn já possui nome, empregador, cargo, histórico profissional e localização do usuário, o escaneamento de extensões não funciona como uma impressão digital anônima do dispositivo, mas como uma forma de anexar uma lista de softwares a uma identidade profissional verificada
- Segundo os registros do browsergate.eu e o repositório de rastreamento no GitHub, o escaneamento ocorre pelo menos desde 2017, e a lista de alvos cresceu de 38 para 6.278 até abril de 2026
- O escaneamento faz parte do sistema de coleta de impressão digital de dispositivo APFC do LinkedIn, compondo um perfil com 48 características de navegador e dispositivo, incluindo canvas fingerprint, WebGL, comportamento de áudio, fontes, informações de tela, memória do dispositivo e IP local via WebRTC
- Os resultados da detecção são empacotados como
AedEventeSpectroscopyEvent, criptografados com uma chave pública RSA e enviados ao endpointli/trackdo LinkedIn; o browsergate.eu afirma que esse método constitui violação da Lei de Mercados Digitais da UE e que uma investigação criminal foi aberta
Lista de softwares anexada a um perfil de identificação pessoal
- A coleta comum de impressão digital geralmente é tratada como uma forma de reconhecer novamente o navegador de um visitante anônimo sem cookies
- Nesse caso, o perfil pode identificar o dispositivo, mas não necessariamente estar vinculado à identidade pessoal
- O LinkedIn já possui nome, empregador, cargo, histórico profissional, faixa salarial, rede profissional e localização do usuário, e não de um visitante anônimo
- O escaneamento de extensões do LinkedIn não cria um perfil de dispositivo de um visitante desconhecido, mas anexa uma lista detalhada de softwares a uma identidade profissional já verificada
- A lista de escaneamento do LinkedIn inclui centenas de extensões relacionadas à procura de emprego, o que permite identificar silenciosamente se o usuário está buscando trabalho antes de informar o empregador
- Extensões relacionadas a conteúdo político, práticas religiosas, acessibilidade para deficiência e neurodiversidade também aparecem na lista, o que significa que o software do navegador pode servir de base para inferir aspectos da vida pessoal
- Como o LinkedIn sabe onde o usuário trabalha, o resultado do escaneamento de um funcionário pode contribuir não apenas para traçar o indivíduo, mas também para identificar ferramentas internas, produtos de segurança, assinaturas de concorrentes e fluxos de trabalho da organização
- A privacy policy do LinkedIn não divulga o escaneamento de extensões, e os usuários não recebem aviso nem pedido de consentimento
Um problema que vai além do LinkedIn
-
Fiscalização e precedente
- O LinkedIn usa a lista de extensões para fazer inferências e tomar medidas de fiscalização contra usuários que tenham extensões específicas instaladas
- Segundo o browsergate, Milinda Lakkam confirmou sob juramento: “LinkedIn took action against users who had specific extensions installed.”
- O usuário não tem como saber que seu software está sendo listado, que essa lista está sendo usada contra ele, nem que isso não aparece na política de privacidade do LinkedIn
-
Ecossistema de fingerprinting
- O fingerprinting de navegador normalmente é tratado como um problema em que um site coleta sinais, monta um perfil e reconhece o usuário entre sessões
- O escaneamento de extensões do LinkedIn cria uma lista detalhada de softwares ligada a uma identidade verificada, e esse perfil não precisa permanecer apenas dentro do LinkedIn
- Se o LinkedIn comprar conjuntos de dados comportamentais de terceiros e a impressão digital do usuário estiver neles, o LinkedIn poderá anexá-los às informações de usuário que já possui
- Comportamento de navegação fora do LinkedIn, histórico de compras, padrões de localização e interesses podem se tornar parte de um perfil vinculado à conta do LinkedIn
- No sentido oposto, o LinkedIn integra scripts de terceiros, incluindo o reCAPTCHA enterprise do Google, carregado em todas as visitas de página, o que cria fluxo de dados entre plataformas
- A impressão digital que o LinkedIn vincula a uma identidade verificada pode também afetar sistemas de publicidade e rastreamento fora do linkedin.com
- Depois de fazer login no LinkedIn uma vez, a impressão digital criada nessa visita pode passar a acompanhar o usuário por toda a web
-
Grupos de usuários realmente ameaçados
- Para jornalistas, advogados, pesquisadores e investigadores de direitos humanos, o perfil no LinkedIn pode ser um dos documentos de identidade verificada mais detalhados da internet
- O perfil no LinkedIn é construído deliberadamente com nome real para fins profissionais
- O escaneamento de extensões vincula a esse perfil registros de instalação de ferramentas de privacidade, extensões de segurança, ferramentas de investigação e aplicativos de produtividade sem que o usuário perceba
- Se você usa LinkedIn e Chrome, essa coleta está acontecendo agora
APFC e fingerprinting avançado em JavaScript
- O escaneamento de extensões não é um recurso isolado, mas parte de um sistema mais amplo de coleta de impressão digital de dispositivo que o LinkedIn chama internamente de APFC
- APFC significa Anti-fraud Platform Features Collection e também é chamado internamente de DNA, Device Network Analysis
- O LinkedIn é relativamente mais aberto sobre esse método de rastreamento do que sobre o escaneamento de extensões, mas essas técnicas são comuns em sites comerciais
- Esse sistema coleta 48 características de navegador e dispositivo em cada visita
- Entre os itens coletados estão canvas fingerprint, renderizador e parâmetros de WebGL, comportamento de processamento de áudio, fontes instaladas, resolução de tela, proporção de pixels, hardware concurrency, memória do dispositivo, nível de bateria, endereço IP local via WebRTC, fuso horário e idioma
- O escaneamento de extensões é uma das entradas que compõem esse perfil maior
O que acontece tecnicamente
- O código do LinkedIn envia solicitações
fetch()para URLschrome-extension://a fim de procurar arquivos específicos de extensões instaladas no Chrome - Se a extensão não estiver instalada, o Chrome bloqueia a solicitação e registra a falha
- Se a extensão estiver instalada, a solicitação é concluída silenciosamente e o LinkedIn registra isso
- Em um ambiente verificado, o escaneamento rodou por cerca de 15 minutos e procurou mais de 6.000 extensões
- O usuário pode confirmar isso diretamente abrindo o LinkedIn no Chrome e olhando a aba Console nas ferramentas de desenvolvedor
- Cada erro vermelho no console corresponde a uma parte da impressão digital do usuário
Estrutura do código e método de detecção
- O LinkedIn executa código JavaScript no navegador de todos os visitantes do Chrome, e o sistema responsável pelo escaneamento de extensões está ali dentro
- O arquivo tem cerca de 1,6 MB e é um arquivo JavaScript minificado e parcialmente ofuscado
- A minificação comum comprime o código por desempenho, mas a ofuscação é uma etapa separada para tornar o código difícil de ler e entender
- O LinkedIn ofusca o módulo exato que contém o sistema de escaneamento de extensões e o esconde dentro de um arquivo JavaScript com milhares de linhas
- Dentro do arquivo há um array codificado com IDs de extensões do navegador
- Em fevereiro de 2026, esse array continha 6.278 itens
- Cada item possui dois campos: o ID da extensão na Chrome Web Store e o caminho de um arquivo específico dentro do pacote da extensão
- O caminho do arquivo não é aleatório, porque extensões do Chrome podem expor arquivos internos a páginas da web por meio do campo
web_accessible_resources - Se a extensão estiver instalada e tiver declarado um arquivo específico como acessível, uma solicitação
fetch()parachrome-extension://{id}/{file}será bem-sucedida - Se não estiver instalada, o Chrome bloqueia a solicitação
- O LinkedIn identifica e detecta diretamente um arquivo acessível específico para cada uma das 6.278 extensões da lista
- A lista continua sendo mantida e expandida, e parece ter existido uma ferramenta para rastrear pacotes de extensões da Chrome Web Store e analisar os recursos acessíveis pela web em cada manifesto para adicionar novos alvos de detecção
Dois modos de escaneamento e Spectroscopy
- O escaneamento de extensões opera em dois modos
- O primeiro modo usa
Promise.allSettled()para enviar todas as solicitações ao mesmo tempo e detectar todas as extensões em paralelo - O segundo modo envia as solicitações sequencialmente com um atraso configurável entre cada uma, distribuindo a atividade de rede ao longo do tempo e tornando-a menos visível em ferramentas de monitoramento
- O LinkedIn pode alternar entre os dois modos por meio de feature flags internas
- O escaneamento também pode ser adiado com
requestIdleCallback, de modo que rode quando o navegador estiver ocioso e o usuário não perceba impacto no desempenho - Um segundo sistema de detecção chamado Spectroscopy funciona de forma independente da lista de extensões
- O Spectroscopy percorre toda a árvore DOM e verifica referências a URLs
chrome-extension://em todos os nós de texto e atributos de elementos - Esse método pode capturar extensões que modificam a página, mesmo que não estejam na lista codificada do LinkedIn
- Juntos, os dois sistemas abrangem tanto extensões instaladas quanto extensões que realmente interagem com a página
Envio da telemetria
- Os dois sistemas de detecção enviam os resultados para o mesmo pipeline de telemetria
- Os IDs das extensões detectadas são empacotados em objetos
AedEventeSpectroscopyEvent - Esses objetos são criptografados com uma chave pública RSA e enviados ao endpoint
li/trackdo LinkedIn - A impressão digital criptografada é então inserida no cabeçalho HTTP de todas as solicitações de API feitas durante a sessão
- O LinkedIn recebe esse valor junto com todas as ações realizadas pelo usuário durante a visita
Contexto legal
- O browsergate.eu detalha o raciocínio jurídico relacionado
- Em 2024, a Microsoft foi designada como gatekeeper sob a Lei de Mercados Digitais da UE, e o LinkedIn é um dos produtos cobertos pela regulação
- A DMA exige que gatekeepers permitam o acesso de ferramentas de terceiros aos dados do usuário e proíbe ações contra usuários dessas ferramentas
- O browsergate.eu entende que o fato de o LinkedIn ter fiscalizado sistematicamente usuários de ferramentas de terceiros e usado escaneamento oculto de extensões para identificá-los constitui violação dessas regras
- Se essa alegação será aceita legalmente é uma questão de interpretação jurídica
- A Cybercrime Unit do Bavarian Central Cybercrime Prosecution Office, em Bamberg, confirmou que uma investigação criminal foi aberta
- Esse órgão lida com casos graves de cibercrime que atravessam diferentes jurisdições
- O browsergate.eu afirmou ter confirmado a investigação criminal, fornecido o número do caso e estar preparando a divulgação integral dos documentos judiciais
1 comentários
Comentários do Hacker News
“Não há dúvida de que uma investigação criminal foi iniciada.” Ótimo. Empresas assim merecem ser apedrejadas, e até coisa pior
Se existe um time comprometido em não destruir um site até deixá-lo abaixo da média, ele deveria poder filtrar candidatos usando uma lista de responsáveis conhecidos pela piora de serviços
Talvez já seja tarde demais para cortar o mal pela raiz, mas não há motivo para deixar esse tipo de gente continuar agindo sem qualquer restrição e ganhando ainda mais espaço
“Depois vi a conversa sobre browsergate no mastodon e pensei ‘não é possível’, mas de fato já havia um processo sendo preparado.” - un-nf
Farrell v LinkedIn Corporation 4:26-cv-02953-KAW (N.D. Cal. Apr. 6, 2026)
https://ia601503.us.archive.org/33/items/gov.uscourts.cand.4...
Por que o meu Chrome está dizendo a qualquer site quais extensões eu tenho instaladas?
Se não der erro, dá para saber que aquela extensão está instalada. É um método engenhoso e trabalhoso, mas contorna mecanismos de segurança feitos justamente para impedir esse tipo de coisa
Li que a justificativa para usar isso seria bloquear usuários de extensões de scraping conhecidas por contornarem os termos de uso, mas isso não me convence totalmente
“As extensões do Chrome podem expor arquivos internos a páginas da web por meio do campo
web_accessible_resourcesnomanifest.json. Se a extensão estiver instalada e tiver exposto o recurso, uma requisiçãofetch()parachrome-extension://{id}/{file}é bem-sucedida. Se não estiver instalada, o Chrome bloqueia a requisição e a promise é rejeitada.O LinkedIn testa todas as extensões da lista dessa maneira.”
Mas fazer isso para 6.300 extensões daria trabalho demais. Será que existe algum serviço que ofereça isso?
Pessoal, se no trabalho pedissem para vocês implementar algo assim, o que escolheriam: bater de frente e arriscar perder o emprego, ou obedecer para manter o emprego?
Como profissional, onde vocês traçam a linha entre telemetria e vigilância?
Dito isso, se você já está jogando esse tipo de jogo, talvez seja hora de procurar outro emprego ;)
Claro, se só houver umas três pessoas com essa informação, vão descobrir rapidinho quem foi
Também pode ser uma ordem vinda de gerentes em situação parecida, enquanto a chefia acima só quer aumento de receita e não liga para os meios. Ainda assim, parece estranho que em nenhum momento alguém diga “o que exatamente estamos fazendo aqui?”
Respondendo à pergunta: claro que eu me oporia. Hoje tenho a sorte de poder tomar essa decisão sem sofrer grandes consequências. Mas quem apareceria no HN para dizer “sim, eu não tenho moral nenhuma!”? Mesmo com conta descartável, não teria como saber se é verdade
A parte mais relevante que encontrei no texto original foi esta:
“As extensões do Chrome podem expor arquivos internos a páginas da web por meio do campo
web_accessible_resourcesnomanifest.json. Se a extensão estiver instalada e tiver exposto o recurso, uma requisiçãofetch()parachrome-extension://{id}/{file}é bem-sucedida. Se não estiver instalada, o Chrome bloqueia a requisição e a promise é rejeitada.O LinkedIn testa todas as extensões da lista dessa maneira.”
Também seria interessante ver quais outros sites testam os mesmos arquivos; será que alguém já investigou isso?
Isso é uma prática bem padrão em fingerprinting de dispositivo. O LinkedIn provavelmente usa isso para proteger a plataforma contra scraping e coisas do tipo, e a lista de extensões tem entropia suficiente para identificar usuários e servir como componente útil de fingerprint
Já vi pessoas criarem e instalarem extensões locais do Chrome em poucos dias, com IA injetada nas ferramentas de desenvolvedor para raspar praticamente qualquer site. Isso foi há poucos meses
Na minha visão, já não existe uma forma simples de se defender disso. É só questão de tempo até medidas de programação defensiva como essa perderem a utilidade
Isso é alucinação? Não encontro essa citação em nenhum outro lugar
“Segundo o browsergate, Milinda Lakkam confirmou sob juramento que ‘o LinkedIn tomou medidas contra usuários que tinham determinadas extensões instaladas’.”
https://browsergate.eu/the-evidence-pack/
O sistema do LinkedIn “pode ter tomado medidas contra usuários do LinkedIn com [XXXXXX] instalado.”
Edit: legal! Acabei de perceber que textos recuados agora quebram linha também no navegador móvel. Pelo menos no ffm é assim. Fico curioso para saber quando isso foi corrigido
Para ser justo, a política de privacidade do LinkedIn afirma explicitamente que coleta esse tipo de informação. Veja https://www.linkedin.com/legal/privacy-policy?ref=cms.hondas...
“1.5 Dispositivo e localização
Quando você visita ou sai dos nossos Serviços (incluindo alguns plug-ins e nossos cookies ou tecnologias semelhantes em sites de terceiros), recebemos a URL do site de onde você veio e do site para o qual foi, além do horário da sua visita. Também recebemos informações sobre sua rede e seu dispositivo (por exemplo, endereço IP, servidor proxy, sistema operacional, navegador da web e complementos, identificadores e recursos do dispositivo, IDs de cookies e/ou ISP, ou sua operadora móvel). Se você usar nossos Serviços a partir de um dispositivo móvel, esse dispositivo nos enviará dados de localização com base nas configurações do seu telefone. Pediremos seu consentimento antes de usar GPS ou outras ferramentas para identificar sua localização exata.”
A parte relevante aqui é “incluindo alguns plug-ins”
Apaguei minha conta do LinkedIn, e minha vida melhorou