A página que mostra tudo o que o navegador revelou
(sinceyouarrived.world)- Esta página mostra localização, dispositivo, navegador, idioma, GPU, bateria, fontes e preferências do usuário usando apenas os dados que o navegador enviou nos primeiros milissegundos após a visita, sem exploits nem invasões, apenas com recursos padrão publicamente documentados
- Ela envia o endereço IP de todos os cabeçalhos de requisição para ip-api.com · Free tier · CC-BY-SA para convertê-lo em cidade e nome do provedor de internet; informa que a consulta não é armazenada e que só exibe alguns octetos na tela, embora o restante também possa ser conhecido
- A impressão digital por fontes detecta fontes instaladas pela largura do texto renderizado, e a Electronic Frontier Foundation · Cover Your Tracks oferece uma ferramenta para verificar a singularidade do navegador; um estudo de Princeton de 2014 encontrou impressão digital por canvas em 5% dos 100.000 principais sites
- Embora não execute isso na página, existem a Clipboard API, que pode solicitar a leitura do último conteúdo copiado com um único gesto do usuário, “The Leaking Battery”, que mostrou a possibilidade de rastreamento por até 30 minutos com nível e tempo de descarga da bateria, e uma técnica para detectar sites em que o usuário está logado via favicon
- Informa que só enviou ao servidor dois eventos anônimos, chegada e conclusão, não armazena nada em
cookies,localStorage,sessionStorage,IndexedDBnem no cache do service worker, e esquece o visitante quando a aba é fechada
Informações que o navegador forneceu logo ao chegar
- Todas as observações de taken. vêm de dados do navegador do visitante nos primeiros milissegundos após a visita, sem exploits, vulnerabilidades ou invasões, usando apenas recursos padrão publicamente documentados
-
Localização
- O endereço IP incluído em todos os cabeçalhos de requisição é enviado para ip-api.com · Free tier · CC-BY-SA para ser convertido em cidade e nome do provedor de internet
- A consulta é temporária e não é armazenada por nenhum dos lados; a tela mostra apenas o primeiro e o último octeto do IP, mas informa que o restante também pode ser conhecido
- No GDPR, endereços IP podem ser considerados dados pessoais quando usados para rastreamento, e o taken. afirma não rastrear, reter nem registrar logs
-
APIs do navegador
- Observações do dispositivo, como tela, navegador, idioma, GPU, número de núcleos, bateria, fontes e preferências do usuário, são obtidas por APIs JavaScript padrão publicamente documentadas em MDN Web Docs · Mozilla · CC-BY-SA 2.5
- É um comportamento possível pelo próprio design do navegador, levando à conclusão de que “o problema é o design”
-
Impressão digital por fontes e canvas
- A técnica de impressão digital por fontes, que detecta fontes instaladas pela largura do texto renderizado, é documentada desde 2010, e a Electronic Frontier Foundation · Cover Your Tracks oferece uma ferramenta para verificar o quão singular é um navegador
- A maioria dos navegadores é singular o bastante para ser rastreada na web aberta mesmo sem cookies, e a combinação de fontes é um dos sinais mais fortes
- Um estudo de 2014 do Princeton University · Web Transparency & Accountability Project documentou pela primeira vez a impressão digital por canvas na web real e a encontrou em 5% dos 100.000 principais sites
- A impressão digital por canvas funciona fazendo o navegador do visitante desenhar uma imagem oculta e depois relendo os pixels renderizados como identificador; o taken. não executou essa técnica, mas o navegador a suporta
-
Área de transferência e bateria
- Segundo a MDN · Clipboard API specification, com um único gesto do usuário, como clique ou toque, uma página pode solicitar a leitura do último conteúdo copiado
- O último conteúdo copiado pode ser uma senha, endereço ou mensagem em rascunho; o taken. não solicitou isso, mas o recurso existe nos navegadores modernos
- O artigo de 2015 “The Leaking Battery”, de Olejnik, Englehardt e Narayanan, mostrou que só a combinação de nível de bateria e tempo de descarga pode rastrear visitantes por até 30 minutos em vários sites, sem cookies nem contas
- O Firefox removeu essa API em 2016, mas Chrome e Edge ainda a expõem
Técnicas não executadas e dados não deixados
-
Detecção de sites com login ativo
- Embora o taken. não a execute, existe uma técnica documentada, legal e amplamente distribuída que faz o navegador carregar a URL do favicon de um serviço específico e observa sucesso ou falha para detectar em quais sites o usuário está logado
- Ela explora a diferença entre imagens retornadas em estados logado e deslogado e pode revelar, sem permissão, o login em serviços como Facebook, Google, X, GitHub, Reddit e LinkedIn
-
Código de barras calculado no navegador
- As 16 linhas exibidas abaixo da contagem são formadas por alturas derivadas de GPU, fontes, tamanho de tela, idioma, fuso horário, sistema operacional, navegador e profundidade de cor
- Os mesmos dados produzem o mesmo código de barras, visitantes diferentes veem códigos diferentes, e o cálculo acontece apenas dentro do navegador, sem ser enviado
- Se houver alguém com exatamente a mesma impressão digital, verá as mesmas barras, mas essa chance é pequena
-
Como as frases são geradas
- Todas as frases foram escritas manualmente por Matt, e nenhum modelo de linguagem escreve ou corrige frases no momento da execução
- O código escolhe um dos modelos de frase previamente escritos conforme os valores retornados pelo navegador, e foi feito para não dizer nada quando a condição não puder ser tratada por uma frase escrita por humanos
-
O que foi enviado ao servidor
- Os únicos eventos enviados ao servidor foram dois eventos anônimos, chegada e conclusão, sem cookies, identificadores nem IPs armazenados
- O servidor descarta o corpo de cada requisição e não retorna nada; registros da camada de transporte de que houve uma requisição podem permanecer em log pelo período padrão de retenção do provedor de hospedagem, normalmente alguns dias
- A maioria dos sites envia centenas de beacons adicionais para anunciantes, coletores de impressão digital, ferramentas de replay de sessão e gerenciadores de tags, mas o taken. envia apenas dois ao próprio servidor e informa esse fato
-
O que foi armazenado no dispositivo
- Nada é armazenado em
cookies,localStorage,sessionStorage,IndexedDBnem no cache do service worker - Os dados mostrados na tela foram calculados dentro do navegador e, exceto pela consulta de geolocalização por IP e pelos dois eventos anônimos, não saem do dispositivo
- Ao fechar a aba, o taken. esquece o visitante e conclui, junto com a abertura do código-fonte, que “a maioria das páginas não pode dizer isso”
- Nada é armazenado em
-
Contexto da série e criação
- O Vol. I trata do que aconteceu no mundo enquanto o visitante permaneceu ali, o Vol. II do céu que ele perdeu, o Vol. III do que já estava sob seus pés, e o Vol. IV vai afunilando até o próprio visitante
- A página foi criada por Matt na Rise Up Labs, e as edições seguintes serão publicadas no X e no Bluesky
2 comentários
Comentários do Lobste.rs
Talvez eu tenha ficado cínico com a idade, mas não há nada de significativamente novo no que foi mostrado aqui. Até o meme de “hot singles in your area” já deve ter quase 20 anos
Dá para questionar se certas informações deveriam ser expostas pelo navegador, mas parte delas é usada para fingerprinting e ao mesmo tempo é necessária para funções básicas. Por exemplo, é bom que um site saiba que eu prefiro modo escuro, e também é útil que data e hora sejam mostradas de acordo com o meu fuso horário
Este site parece mais interessado em mostrar o fingerprinting de forma sensacionalista do que em fornecer informação realmente útil, e, se você está preocupado com fingerprinting, o material da EFF em https://coveryourtracks.eff.org é muito melhor
Privacidade é importante para mim e também tomo algumas medidas para reduzir rastreamento, mas não acredito muito que limitar fingerprinting realmente ajude. Para eliminar a impressão digital, a experiência de navegação fica extremamente ruim, e qualquer meio-termo provavelmente só cria uma impressão ainda mais única
E muitos dos itens rastreados aqui são comuns demais. Se todos usam as mesmas fontes, preferem tema claro e moram na mesma região, como isso criaria um perfil realmente único para cada pessoa?
É uma demonstração bonita, e gostei do jeito como as animações vão revelando as informações com o tempo. Mas a análise e o texto são baseados em emoção demais para o meu gosto
Por exemplo, muita da informação que esta página diz ter “entendido” sobre o navegador são valores que o Firefox envia de forma hardcoded, independentemente do estado real do dispositivo. Um rastreador de fingerprint talvez não perceba a diferença, mas o Firefox prefere consistência a expor dados específicos do aparelho, como número de CPUs ou resolução da tela
No Firefox, esta página diz que minha informação de GPU foi “ocultada” pelo navegador e ao mesmo tempo diz que o navegador forneceu a informação da GPU. É só vibe?
À parte disso, quando outras páginas tentam mostrar se rastreamento é possível, normalmente medem a entropia ou tentam ver o quão único você é, mas essa abordagem também tem falhas. Alguns navegadores adicionam aleatoriedade a APIs que deveriam ser mais detalhadas do que simplesmente “quantas CPUs existem”
Por exemplo, no Firefox você pode sempre parecer único para rastreadores de fingerprint por canvas, o que assusta, mas na prática acaba tendo uma impressão digital única diferente a cada vez. Dá para ver isso abrindo a página de teste de fingerprint no modo normal e no modo privado, ou em contêineres diferentes
Haha, isso mesmo
Nos primórdios da internet, havia banners com frases como “Seu computador está transmitindo seu endereço IP!!!”. Este site me lembra bastante aquela época, assim como a ideia de que há algo vagamente perigoso e difícil de explicar no fato de um site saber alguma coisa sobre o dispositivo ou a conexão que eu uso
Quando saio na rua, as pessoas podem ver meu rosto. Se entro numa loja, outros clientes podem ver para quais prateleiras eu olho. Se compro uma caixa de ovos, a loja vai registrar a venda com timestamp, e, se alguém estiver anotando quem entra e sai da loja, pode até descobrir pelo recibo no lixo que eu comprei ovos
Você pode fechar as persianas, se trancar em casa e interagir com o mundo só com Monero comprado via Tor, morrendo de medo das terríveis violações de privacidade que sempre aconteceram, ou pode aceitar que isso faz parte da vida desde que existem seres humanos e que não há grande dano no fato de um site saber o meu fuso horário local ou a CPU do meu computador
E dizer “a vida é assim, aceite ou vá morar no mato” não me parece uma boa forma de resolver qualquer problema deste mundo
Mas imagine que, em vez de só me darem uma olhada, todas se aproximem para desenhar meu rosto, olhar o relógio e anotar a hora, registrar a roupa que estou usando e minha localização. Talvez até perguntem para onde estou indo. No mundo para o qual estamos correndo, talvez até façam uma cópia de um documento oficial
Depois que eu passar, essas centenas de pessoas levam suas anotações para um prédio enorme onde trabalham milhões de funcionários de grandes empresas e governos, e lá classificam meticulosamente esboços e registros de todos na cidade. Colam tudo num quadro gigante e ligam com barbante vermelho, como detetives em séries policiais
Eles fazem isso todos os dias, movidos pelo desejo de me conhecer. Isso é mesmo algo tão vago e difícil de explicar assim?
“Seu dispositivo nos enviou primeiro o endereço IP, e é por isso que sabemos disso. Também sabemos o resto. Escolhemos não mostrar. A maioria das páginas não teria feito essa escolha.”
O primeiro parágrafo me incomodou um pouco; parece marketing de medo voltado para quem tem pouco conhecimento técnico. É óbvio que um servidor web conhece meu IP
A frase “Escolhemos não mostrar. A maioria das páginas não teria feito essa escolha” também é estranha. Não entendo por que seria um problema me mostrar meu próprio endereço IP, nem acho que “a maioria das páginas” realmente escolheria fazer isso. Posso ter deixado escapar o ponto que queriam fazer
“Seu endereço IP — 88.xxx.xxx.231 — foi a primeira coisa que seu dispositivo enviou. Também sabemos o resto. Escolhemos não mostrar. A maioria das páginas não teria feito essa escolha.”
Começar com um texto tão mal-ajambrado e com cara de InfoWars é uma escolha ousada. Para mim, isso derrubou imediatamente a credibilidade do resto da página; na verdade, talvez seja melhor dizer que “definiu o tom”, porque o restante também foi fraco
Este texto parece precisar de um título bem mais explicativo
“Sua tela tem 375×812 pixels e renderiza com densidade 3x. Isso quase certamente significa uma tela recente e de alta qualidade.”
Sei lá, este iPhone 13 mini é de 2021 e já está quase fazendo 5 anos, então não considero tão recente assim. Ainda assim, a página em si é interessante
“Você prefere uma interface clara — o sistema operacional nos contou.”
E mesmo assim este site ignora minha preferência. Isso mostra que sites normalmente não usam esse tipo de dado para melhorar a experiência do usuário
Deve ser dureza usar Chrome
Neste momento estou em Munich usando uma conexão 5G, mas o site acha que estou em London
Comentários do Hacker News
Nem estou nessa cidade. Forçando bastante, no máximo dá para dizer que estou rodando algo parecido com Linux com algo parecido com Chrome em cima, e ninguém consegue deduzir quando eu trabalho ou durmo. Nem eu sei
Esse tal display moderno e avançado é na verdade a tela de um tablet barato que comprei no supermercado há 5 anos, e mesmo assim a coleta de impressão digital do navegador continua irritante. Se conseguem detectar o modo claro, não dava para respeitar essa configuração também?
Dizem “English · Chinese” e sugerem que o idioma principal do navegador e os idiomas adicionais revelam onde a pessoa cresceu, onde mora e até com quem vive, mas ter inglês e chinês como idiomas de entrada não revela nada disso. É parecido com dizer que “o fato de alguém acessar a internet pelo celular revela que essa pessoa consegue acessar a internet pelo celular”. Tecnologias interagem entre si, é assim que elas funcionam. É orwelliano, mas daí a dizer que é mais orwelliano do que Estados de vigilância como Rússia/China/Coreia do Norte é outra história. Compartilhar localização ajuda a encontrar celular, carro e outros dispositivos; atividades online podem ajudar a encontrar criminosos; e também podem registrar crimes ou casos em que seja necessário cobrar responsabilidade da polícia. Ver o excesso de intrusão da tecnologia como uma catástrofe é uma escolha cognitiva, mas é bom estar ciente do que nossas tecnologias “sabem” sobre nós
Concordo totalmente com a parte do modo claro. Estou na metade dos 30 e alguns desses sites em modo escuro me fazem sentir como se eu tivesse mais de 80. Neste site eu realmente não consigo ver nada
Queria que os defensores da privacidade falassem de forma normal pelo menos uma vez. Tentar vender o fato de o navegador ter acesso ao fuso horário como se fosse algo maligno não vai convencer ninguém
A questão não é se a informação está correta ou não. A questão é que ela serve para me identificar mesmo sem cookies. Procurando um site melhor, achei o da EFF útil
Lá dizia que minha impressão digital do navegador era única entre os visitantes dos últimos 45 dias: https://coveryourtracks.eff.org/
Se você visita sem JavaScript, aparece: “Se o JavaScript estiver desativado, a página não pode dizer o que o navegador revelou. Os dados ainda estão lá. A revelação ainda aconteceu. A única coisa que para é a explicação.”
Esse tom exagerado de LLM é muito irritante, mas pelo menos serve de sinal de que posso ignorar tudo sem culpa
Não sei se é porque estou velho ou porque trabalho com software para internet há quase 30 anos, mas nada disso me parece surpreendente nem preocupante
Alguém cria um servidor que aceita conexões, e alguém envia uma requisição de conexão para esse servidor. Não houve acordo, nem expectativas, nem regras definidas. O servidor não é obrigado a aceitar toda requisição, e ninguém é obrigado a fazer requisição para aquele servidor. O que o servidor devolve e como o cliente lida com isso fica por conta de cada um
Sinto que esse acordo, ou essa ausência de acordo, vale para os dois lados. Não acho que o usuário deva ficar bravo porque um site usa as informações da requisição da forma que quiser, mas o site também não deveria ficar bravo porque eu trato os dados que recebo como eu quiser. Ou seja, o site pode guardar meu endereço IP e os detalhes da requisição o quanto quiser, e eu posso fazer o que bem entender com a resposta recebida. Posso bloquear anúncios, recusar requisições subsequentes que o site mande fazer ou exibir a resposta da forma que eu quiser. Eu pedi os dados, e eles enviaram os dados
Se há informações sobre mim que eu não quero revelar, então elas não deveriam ir na requisição. Se o site só quer enviar os dados sob a condição de eu ver anúncios, então deveria me fazer concordar com isso antes de enviar os dados. Claro, no mundo real a maioria das pessoas não sabe o que o navegador faz, não tem muitas escolhas reais sobre o que ele envia, e a internet deixou de ser algo opcional na vida. Coisas como DDoS também tornam irreal um modelo totalmente “vale tudo”. Ainda assim, tenho a intuição de que, ao fazer uma requisição na internet, não devemos esperar demais de nenhum dos lados
Na prática, o navegador é agente de outra pessoa. Trabalha para desenvolvedores web, oferecendo todo tipo de coisa que facilita a vida deles. Trabalha para anunciantes, fornecendo pistas de rastreamento e fingerprinting. Trabalha para os desenvolvedores do próprio navegador, coletando métricas, telemetria e outros dados que nem sabemos quais são. Mas já não trabalha mais de verdade para mim. Eu sou só um passageiro no carro
Eu entendo que o endereço IP não é algo que o navegador consiga controlar e que, para se conectar a um site, ele inevitavelmente precisa ser revelado. Mas o fato de que, no estado padrão e sem VPN, um IP possa ser mapeado de forma estável para país, estado/província e às vezes até cidade é uma falha de projeto terrível. É um grande problema de projeto na forma como os IPs são distribuídos. Num mundo melhor, o endereço IP por si só não deveria revelar a localização geográfica de alguém
Quando o cliente envia cabeçalhos de idioma ou a lista de fontes compatíveis, isso não significava que o servidor podia “fazer o que quisesse com esses dados”. Havia motivos reais quando criamos esses padrões. O fato de provedores de sites, ou mais especificamente redes de anúncios, terem decidido usar isso para outra finalidade quebra esse acordo implícito. Claro, talvez eu esteja esperando demais
Acertaram o nível de bateria do meu celular e a inferência sobre o dispositivo. Leram corretamente giroscópio e interações com touchscreen, e mostraram como isso pode ser usado para identificação e inferência. Dá até para inferir se você está sentado, em pé ou deitado. O começo é lento, mas depois fica interessante
Essa ideia de que ninguém deve nada a ninguém funcionava bem antigamente, quando em geral se podia presumir boa-fé da maioria dos agentes. Mas, quando o dinheiro e o poder da internet viraram realidade, a relação ficou mais adversarial. As premissas de confiança e a falta de responsabilidade facilitam que um lado explore a boa-fé do outro. E, por causa do desequilíbrio técnico e de poder inerente à arquitetura servidor-cliente da web, os abusos também tendem a fluir em uma direção só
O site é bonito e as frases exageradas até são divertidas, mas há demos de fingerprinting muito melhores
A quantidade de pontos de dados mostrados aqui é pequena. Dá para verificar muito mais coisa, e boa parte do que aparece parece errada. Só detectou explicitamente um item como “withheld”, mas na prática parece que há vários itens ocultos distorcendo a saída. Precisa de controle de qualidade
Parece o EFF Cover Your Tracks feito com vibe coding. O fato de isso ter ido parar na front page assusta mais do que o conteúdo
Dá para ver muito mais coisa aqui. Também já existe bastante trabalho anterior sobre supercookies e fingerprinting
https://coveryourtracks.eff.org/
https://amiunique.org/
Uau, parece que alguém usando ChatGPT descobriu o conceito de cabeçalhos do navegador e resolveu enfiar frases estranhas como “decidimos não contar a você”
Se você realmente quer saber o que seu navegador está enviando, veja aqui:
https://browserleaks.com/
https://coveryourtracks.eff.org/
“Nós não pedimos sua localização. Seu endereço chegou antes de você” é bobagem. Eles consultaram meu endereço IP como chave numa API/serviço de geolocalização, então sim, pediram minha localização
E o IP é praticamente obrigatório para a comunicação na internet funcionar. Há formas de usar serviços que o escondem, mas aí esse serviço passa a ter minhas informações
Se você tem um dicionário, não precisa necessariamente perguntar ao seu interlocutor o significado de uma palavra; pode procurar no dicionário. A palavra pode ter vários sentidos, ou ser gíria, e aí você pode inferir errado. Para corrigir essa imprecisão, talvez precise de outros pontos de dados, como o contexto da conversa, ou então pedir confirmação diretamente à pessoa
E, claro, o endereço chega antes. Senão não haveria como devolver os dados solicitados