Loupe - app para iOS que mostra a superfície de fingerprinting de dispositivos visível para apps nativos de iOS
(github.com/mysk-research)- Loupe é um app para iOS e iPadOS que lê valores reais de APIs públicas do iOS e os mostra em formato bruto, permitindo verificar diretamente quais valores o dispositivo expõe por meio das APIs que apps de terceiros podem chamar
- Mesmo sem nome, e-mail ou localização, vários valores lidos podem se combinar para formar uma fingerprint capaz de reconhecer novamente um usuário em diferentes apps e sites
- Os valores lidos são agrupados em três níveis conforme o custo de acesso
- Passive: locale, fuso horário, tela, bateria etc., visíveis para todos os apps sem prompt
- Needs Permission: valores como contacts, photos, location e calendars, que disparam prompts do iOS
- Advanced: uso de side channels de APIs públicas, como URL-scheme probing via
canOpenURLe persistência no Keychain que permanece mesmo após reinstalação
- Os valores lidos pelo Loupe não saem do dispositivo, a menos que sejam exportados explicitamente, e são exibidos como valores brutos, sem agregação nem hashing, sem upload, sincronização ou compartilhamento
- Para compilar, é necessário Xcode 26 ou superior; abra
code/Loupe.xcodeproj, preenchaDEVELOPMENT_TEAMe o bundle identifier emSigning.local.xcconfige depois compile e execute no dispositivo ou simulador - Ele usa buildable folders do Xcode, então novos arquivos Swift passam a ser refletidos automaticamente sem modificar o arquivo do projeto; também pode ser compilado para macOS, mas a versão para Mac ainda precisa de mais trabalho antes de ficar polished
- Loupe é um projeto open source gratuito, e o source code é distribuído sob a MIT License, mas o nome Loupe, o logotipo, o ícone do app, imagens, ícones e arquivos-fonte de design não estão cobertos pela MIT License
1 comentários
Comentários do Hacker News
Não entendo por que o acesso à internet dos apps não é bloqueado por padrão e liberado só por escolha
Se você impedir a exfiltração de dados, já reduz a maior parte desse tipo de dano, e muitos apps nem precisam acessar a internet para começo de conversa
Não sei por que preciso criar uma conta da GE para ler minha pressão arterial; pelo menos nesse caso dá para perceber que estão me usando, mas isso aqui é claramente abuso
Como a maioria dos apps tem algum motivo legítimo para precisar de internet, não acho que uma permissão simples de sim/não vá adiantar muito
Seria ótimo ver logs detalhados de todas as requisições de rede, domínios de destino e dados transmitidos
As opções são desligado, apenas WLAN, e WLAN e rede celular [0]
[0] https://old.reddit.com/r/ios/comments/aib10i/in_china_ios_al...
Nunca usei GrapheneOS, então não sei como é lá, mas o próprio Android oferece suporte completo a isso, e não entendo por que a maioria das fabricantes remove essa permissão das suas ROMs
Ainda assim, concordo que esse tipo de recurso deveria existir em todo lugar
Corrigindo alguns comentários aqui: apps de iOS não conseguem listar todos os apps instalados
Eles só podem verificar apps/esquemas específicos que queiram checar ou abrir, declarando-os em LSApplicationQueriesSchemes
Se você colocar uma lista grande de apps sem relação entre si, a App Review da Apple rejeita
A Apple adicionou essa limitação porque a lista de apps instalados pode ser usada para fingerprinting e perfilamento invasivo da privacidade
E corretores de dados ou agregadores podem comprar esses dados de milhares de apps, juntar tudo e revender
Uma lista pequena, mas altamente distintiva, já pode fornecer entropia adicional suficiente para identificar alguém de forma única quando combinada com outros dados vazados
Onde dá para ver essa lista?
A informação “iPhone last setup or erased on ...” é realmente perversa
O que um usuário pode fazer com isso na prática? Parece que o sistema operacional deveria ofuscar esse valor de algum jeito
A única proteção é evitar instalar apps e usar o navegador web sempre que possível
A data de criação do volume é bem séria
Não vejo motivo para esse valor, nem para o changeCount do Pasteboard, serem tão granulares
O vazamento de “Installed Apps Probe” também foi surpreendente, mas ainda assim está melhor do que a situação atual no Android
E nada impede que ele seja zerado todo dia
Excelente
Isso deixa bem claro como fazem falta ferramentas que tornem esse tipo de coisa visualmente perceptível
Fiz algo parecido para a web: https://neberej.github.io/exposedbydefault/
Github: https://github.com/neberej/exposedbydefault
Quem não tem iPhone ou não quer instalar o app pode ver uma demonstração aqui
São versões da mesma apresentação em outras plataformas
https://odysee.com/@techlore:3/permission-not-required-the-o...
https://www.youtube.com/watch?v=_n_SpEWtqog
https://inv.nadeko.net/watch?v=_n_SpEWtqog
https://techlore.tv/w/d7dh4P7y4dVngNoL7u7s3B
Não entendo por que um app qualquer, sem permissões especiais, consegue acessar tanta informação, nem por que a Apple não informa isso claramente ao usuário
A Apple não poderia criar uma longa lista de caixas de seleção para permitir/bloquear por categoria e por app?
Por exemplo, eu não fazia ideia de que um app sem nenhuma permissão já podia ter imediatamente a lista de todos os apps instalados no aparelho, e inferir, só pela presença de Tinder/Bumble/Hinge, se alguém está saindo com outras pessoas ou até traindo
Só isso já parece suficiente para algum agente mal-intencionado monetizar cobrando US$10 por um serviço tipo “descubra se seu parceiro está te traindo” e vender uma resposta probabilística
Como exatamente você faria esse app de “descubra se seu parceiro está te traindo” ser instalado no celular da outra pessoa?
Já existe algo parecido para celulares Android?
Hoje eu simplesmente desisti de tentar não compartilhar meus dados pessoais
Em vez disso, bloqueio toda publicidade e não uso apps/sites que não funcionam sem bloqueador de anúncios
Eles podem até ter muitos detalhes sobre mim, como meu sabor de sorvete favorito, mas como eu não vejo anúncio nenhum, isso não me incomoda tanto
Claro que seria melhor se ninguém tivesse esse tipo de informação, mas nesta sociedade horrorosa dá para ser apenas pragmático
Então eu evito instalar apps e não deixo muitos instalados