LinkedIn está escaneando extensões do navegador
(404privacy.com)- O LinkedIn envia requisições de URL
chrome-extension://no Chrome para verificar se determinadas extensões estão instaladas, e os itens não instalados aparecem no console das ferramentas de desenvolvedor como erros de falha de requisição - Segundo os registros do browsergate.eu e o repositório de rastreamento no GitHub, o escaneamento acontece pelo menos desde 2017, e a lista de alvos cresceu de 38 para 6.278 em abril de 2026
- 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 acrescentar uma lista de softwares a uma identidade profissional já verificada
- O escaneamento faz parte do sistema de coleta de impressão digital de dispositivo APFC do LinkedIn, compondo o perfil junto de 48 características de navegador e dispositivo, como 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 configura violação do EU Digital Markets Act e informa que uma investigação criminal foi aberta
Lista de softwares anexada a um perfil de identificação pessoal
- Em geral, a coleta de impressão digital é tratada como uma forma de reconhecer novamente o navegador de um visitante anônimo sem usar cookies
- Nesse caso, o perfil pode identificar o dispositivo, mas não necessariamente se vincula à identidade de uma pessoa
- O LinkedIn, porém, já possui nome, empregador, cargo, histórico profissional, faixa salarial, rede profissional e localização do usuário
- O escaneamento de extensões do LinkedIn não cria um perfil de dispositivo de um visitante desconhecido; ele acrescenta uma lista detalhada de softwares a uma identidade profissional já verificada
- A lista de escaneamento do LinkedIn inclui centenas de extensões relacionadas a busca de emprego, o que pode permitir detectar discretamente se alguém está procurando trabalho antes de informar o empregador
- A lista também inclui extensões ligadas a conteúdo político, prática religiosa, acessibilidade para deficiência e neurodiversidade, o que significa que softwares do navegador podem 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 só para perfilar a pessoa, 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 são notificados nem têm seu consentimento solicitado
Um problema que vai além do LinkedIn
-
Fiscalização e precedente
- O LinkedIn usa a lista de extensões para fazer inferências sobre usuários com determinadas extensões instaladas e tomar medidas de fiscalização
- Segundo o browsergate, Milinda Lakkam confirmou sob juramento: “LinkedIn took action against users who had specific extensions installed.”
- Não há como o usuário saber que seu software está sendo listado, que essa lista está sendo usada contra ele e que isso não aparece na política de privacidade do LinkedIn
-
Ecossistema de coleta de impressão digital
- A coleta de impressão digital no navegador costuma ser tratada como o problema de um site que coleta sinais, monta um perfil e reconhece o usuário entre sessões
- O escaneamento de extensões do LinkedIn produz uma lista detalhada de softwares vinculada a uma identidade verificada, e esse perfil não precisa ficar restrito ao LinkedIn
- Se o LinkedIn comprar conjuntos de dados comportamentais de terceiros e neles houver a impressão digital do usuário, o LinkedIn pode anexá-los às informações que já possui
- Comportamento de navegação fora do LinkedIn, histórico de compras, padrões de localização e interesses podem passar a fazer parte de um perfil vinculado à conta do LinkedIn
- No sentido inverso, o LinkedIn integra scripts de terceiros, incluindo o Google reCAPTCHA enterprise, carregado em todas as visitas de página, permitindo fluxo de dados entre plataformas
- A impressão digital que o LinkedIn vincula a uma identidade verificada pode influenciar sistemas de publicidade e rastreamento fora do linkedin.com
- Basta fazer login no LinkedIn uma vez para que a impressão digital criada naquela visita possa acompanhar o usuário pela web
-
Grupos de usuários sob ameaça real
- Para jornalistas, advogados, pesquisadores e investigadores de direitos humanos, um perfil do LinkedIn pode ser um dos documentos de identidade verificada mais detalhados da internet
- O perfil do LinkedIn é construído intencionalmente com nome real e para fins profissionais
- O escaneamento de extensões vincula a esse perfil, sem que o usuário perceba, o histórico de instalação de ferramentas de privacidade, extensões de segurança, ferramentas de investigação e apps de produtividade
- Se você usa LinkedIn e Chrome, essa coleta está acontecendo agora
APFC e coleta avançada de impressão digital com JavaScript
- O escaneamento de extensões não é um recurso isolado; ele faz 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 tipo 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 é apenas uma das entradas usadas para compor um perfil maior
O que acontece tecnicamente
- O código do LinkedIn envia requisições
fetch()para URLschrome-extension://em busca de arquivos específicos instalados no Chrome - Se a extensão não estiver instalada, o Chrome bloqueia a requisição e registra a falha
- Se a extensão estiver instalada, a requisição é concluída silenciosamente e o LinkedIn registra isso
- Em um ambiente confirmado, o escaneamento rodou por cerca de 15 minutos e procurou mais de 6.000 extensões
- O usuário pode verificar isso diretamente abrindo o LinkedIn no Chrome e observando a aba de 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 em questão é um arquivo JavaScript minimizado e parcialmente ofuscado de cerca de 1,6 MB
- A minimização comum comprime o código por desempenho, mas a ofuscação é uma etapa separada feita para dificultar leitura e compreensão
- 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 hardcoded com IDs de extensões de navegador
- Em fevereiro de 2026, esse array continha 6.278 itens
- Cada item tem 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 é um valor aleatório, porque extensões do Chrome podem expor arquivos internos a páginas web por meio do campo
web_accessible_resources - Se a extensão estiver instalada e tiver declarado determinado arquivo como acessível, uma requisição
fetch()parachrome-extension://{id}/{file}será bem-sucedida - Se não estiver instalada, o Chrome bloqueia a requisiçã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 havido uma ferramenta que rastreava pacotes de extensões da Chrome Web Store e analisava em cada manifesto os recursos acessíveis pela web 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 requisições ao mesmo tempo, detectando todas as extensões em paralelo - O segundo modo envia as requisições em sequência, com 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 usando feature flags internos
- O escaneamento também pode ser adiado com
requestIdleCallback, rodando quando o navegador está ocioso para que o usuário não perceba impacto de desempenho - Um segundo sistema de detecção chamado Spectroscopy funciona independentemente 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 detectar extensões que modificam a página mesmo que elas não estejam na lista hardcoded do LinkedIn
- Juntos, os dois sistemas cobrem tanto extensões instaladas quanto extensões que de fato interagem com a página
Envio de telemetria
- Os dois sistemas de detecção enviam resultados pelo mesmo pipeline de telemetria
- Os IDs de 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 nos headers HTTP de todas as requisiçõ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 organiza em detalhes a lógica jurídica relacionada
- Em 2024, a Microsoft foi designada como gatekeeper sob o EU Digital Markets Act, e o LinkedIn é um dos produtos sujeitos à regulação
- O DMA exige que gatekeepers permitam o acesso de dados de usuários a ferramentas de terceiros e proíbe ações contra usuários dessas ferramentas
- O browsergate.eu entende que o fato de o LinkedIn fiscalizar sistematicamente usuários de ferramentas de terceiros e usar escaneamento oculto de extensões para identificá-los configura violação dessa regra
- Se essa interpretação será aceita juridicamente é uma questão para decisão legal
- A Cybercrime Unit do Bavarian Central Cybercrime Prosecution Office in Bamberg confirmou que uma investigação criminal foi aberta
- Esse órgão lida com casos graves de cibercrime que atravessam 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