AppLovin Mediação Cipher Quebrada: Impressão Digital do Dispositivo Ignora ATT

Uma análise aprofundada do protocolo de mediação de anúncios da AppLovin expôs uma cifra personalizada que falha em proteger a privacidade do usuário. O pesquisador descriptografou mais de 5.000 requisições reais de lances capturadas de usuários consentidos e descobriu que a carga útil criptografada transmite dados suficientes do dispositivo para identificar exclusivamente um iPhone entre aplicativos de diferentes editores — mesmo quando o usuário negou a permissão de Transparência de Rastreamento de Aplicativos (ATT).
Como a Cifra Funciona
Cada requisição de mediação é um HTTPS POST para ms4.applovin.com/1.0/mediate. Dentro da camada TLS, uma segunda cifra envolve a carga útil. Após a decodificação base64, o formato do fio é três campos separados por dois pontos + texto cifrado:
2:8a2387b7dbed018e5e485792eac2b56833ce8a3a:T7NreIR729giTKR-thJPcKeT6JXevACogl57SIFzwKp-1BASwpBT6v:<binário>
Campos:
- Tag de versão (
2) - ID de protocolo de 40 caracteres —
sha1(salt).hex() - Sufixo de 54 caracteres da chave SDK do editor AppLovin (armazenada em texto simples em
Info.plistouAndroidManifest.xml)
A cifra utiliza dois ingredientes: um salt constante de 32 bytes embutido em cada binário SDK (21 bytes significativos + 11 bytes zero, idêntico em vários aplicativos e plataformas) e a chave SDK por editor. A chave derivada é SHA-256(salt || sdk_key[:32]). O fluxo de chave é gerado usando SplitMix64, um gerador pseudoaleatório não criptográfico. O contador é System.currentTimeMillis() XOR com os primeiros 8 bytes da chave derivada — vazando o tempo de relógio de parede no fio antes da descriptografia. Nenhum MAC ou autenticação é aplicado, o que significa que um atacante pode adulterar o texto cifrado.
O Que é Enviado
O texto simples descriptografado é JSON compactado com gzip com ~30 chaves de nível superior. As críticas:
device_info— carga útil de impressão digital própria da AppLovin com ~50 campossignal_data[]— tokens opacos de cada SDK parceiro de demanda
Um exemplo de uma requisição onde o ATT foi negado (IDFA zerado):
Campo Valor O que é
revision iPhone14,3 Modelo de hardware (iPhone 13 Pro Max)
os 18.6.2 Versão do SO
tm 5918212096 RAM total (5,51 GB)
ndx / ndy 1284 × 2778 Pixels nativos da tela
kb en-US,es-ES Teclados instalados
font UICTContentSizeCategoryXXXL Tamanho do texto de acessibilidade
tz_offset -4 Fuso horário
volume 40 Volume do áudio do sistema
mute_switch 1 Interruptor de mudo físico
bt_ms_2 1770745989000 Tempo de inicialização do dispositivo (época em ms)
dnt / idfa true / 00000… ATT negado
idfv 81E958C3-…-51DE7CE11819 ID do fornecedor (estável entre aplicativos)
Campos adicionais incluem insets da área segura, memória livre, código da operadora, código do país, localidade, orientação, altura da barra de status, relógio monotônico, flags de bateria e estado da conexão segura. Isso é efetivamente toda propriedade do sistema acessível a código de terceiros.
Exposição a Jusante
Um editor típico inclui ~18 SDKs de demanda (Meta, Google, Mintegral, Vungle, ironSource, Unity, InMobi, BidMachine, Fyber, Moloco, TikTok, Pangle, Chartboost, Verve, MobileFuse, Bigo, Yandex, além da própria AppLovin). Em cada carregamento de banner (~30 segundos), o SDK da AppLovin passa a carga útil do dispositivo descriptografada para cada uma dessas redes a jusante, permitindo rastreamento do usuário entre aplicativos sem consentimento ATT.
Implicações
A suposição de que o ATT sozinho previne a identificação determinística é falsa. A impressão digital do dispositivo através dos campos vazados funciona igualmente bem. A falta de autenticação na camada de cifra também levanta preocupações de integridade.
📖 Leia a fonte completa: HN AI Agents
👀 See Also

A Abordagem de Segurança em Primeiro Lugar do IronClaw para a Segurança de Agentes de IA
IronClaw aborda as preocupações de segurança dos agentes de IA implementando execução restrita, ambientes criptografados e permissões explícitas, em vez de depender da inteligência do LLM para um comportamento seguro.

Nova Habilidade Automatiza o Endurecimento de Segurança do OpenClaw em Servidores Remotos
Um desenvolvedor da comunidade lançou uma habilidade que ajuda assistentes de IA a proteger automaticamente instalações do OpenClaw em servidores remotos.

Injeção de Prompt na Camada de Áudio Contra o Claude: O Que Não Está na Transcrição
Um desenvolvedor que cria uma API de detecção de injeção de prompt compartilha descobertas sobre ataques na camada de áudio contra o Claude, revelando que ataques no sinal (não na transcrição) são invisíveis nos logs e representam uma ameaça real para agentes de voz.

Folha de Dicas de Gerenciamento de Superfície de Ataque de Código Aberto Lançada
Um desenvolvedor disponibilizou uma cola de código aberto para Gerenciamento de Superfície de Ataque que abrange fluxos de trabalho práticos, ferramentas e referências. O projeto inclui seções sobre descoberta de ativos, rastreamento de infraestrutura, ferramentas de reconhecimento, fluxos de trabalho de automação e recursos de aprendizado.