Descifrado de la Mediación de AppLovin: La Huella Digital del Dispositivo Evita ATT

Un análisis profundo del protocolo de mediación de anuncios de AppLovin ha expuesto un cifrado personalizado que no logra proteger la privacidad del usuario. El investigador descifró más de 5,000 solicitudes de oferta reales capturadas de usuarios consentidos y descubrió que la carga útil cifrada transmite suficientes datos del dispositivo para identificar de manera única un iPhone entre aplicaciones de diferentes editores, incluso cuando el usuario ha denegado el permiso de Transparencia de Seguimiento de Aplicaciones (ATT).
Cómo funciona el cifrado
Cada solicitud de mediación es un HTTPS POST a ms4.applovin.com/1.0/mediate. Dentro de la capa TLS, un segundo cifrado envuelve la carga útil. Después de decodificar en base64, el formato de transmisión consta de tres campos separados por dos puntos más el texto cifrado:
2:8a2387b7dbed018e5e485792eac2b56833ce8a3a:T7NreIR729giTKR-thJPcKeT6JXevACogl57SIFzwKp-1BASwpBT6v:<binario>
Campos:
- Etiqueta de versión (
2) - Identificador de protocolo de 40 caracteres:
sha1(salt).hex() - Sufijo de 54 caracteres de la clave del SDK de AppLovin del editor (almacenada en texto plano en
Info.plistoAndroidManifest.xml)
El cifrado toma dos ingredientes: una sal constante de 32 bytes integrada en cada binario del SDK (21 bytes significativos + 11 bytes cero, idéntica en múltiples aplicaciones y plataformas) y la clave del SDK por editor. La clave derivada es SHA-256(salt || sdk_key[:32]). El flujo de clave se genera usando SplitMix64, un PRNG no criptográfico. El contador es System.currentTimeMillis() XOR con los primeros 8 bytes de la clave derivada, filtrando la hora de pared en la transmisión antes del descifrado. No se aplica MAC ni autenticación, lo que significa que un atacante puede alterar el texto cifrado.
Qué se envía
El texto plano descifrado es JSON comprimido con gzip con aproximadamente 30 claves de nivel superior. Las críticas son:
device_info: la propia carga útil de huella digital de AppLovin con ~50 campossignal_data[]: tokens opacos de cada SDK de socio de demanda
Un ejemplo de una solicitud donde se denegó ATT (IDFA puesto a cero):
Campo Valor Qué es
revision iPhone14,3 Modelo de hardware (iPhone 13 Pro Max)
os 18.6.2 Versión del SO
tm 5918212096 RAM total (5.51 GB)
ndx / ndy 1284 × 2778 Píxeles nativos de pantalla
kb en-US,es-ES Teclados instalados
font UICTContentSizeCategoryXXXL Tamaño de texto de accesibilidad
tz_offset -4 Zona horaria
volume 40 Volumen de audio del sistema
mute_switch 1 Interruptor de silencio físico
bt_ms_2 1770745989000 Tiempo de arranque del dispositivo (ms epoch)
dnt / idfa true / 00000… ATT denegado
idfv 81E958C3-…-51DE7CE11819 ID del proveedor (estable entre aplicaciones)
Campos adicionales incluyen insets de área segura, memoria libre, código de operador, código de país, configuración regional, orientación, altura de la barra de estado, reloj monotónico, indicadores de batería y estado de conexión segura. Esto es efectivamente cada propiedad del sistema accesible para código de terceros.
Exposición posterior
Un editor típico incluye ~18 SDKs de demanda (Meta, Google, Mintegral, Vungle, ironSource, Unity, InMobi, BidMachine, Fyber, Moloco, TikTok, Pangle, Chartboost, Verve, MobileFuse, Bigo, Yandex, más el propio de AppLovin). En cada carga de banner (~30 segundos), el SDK de AppLovin pasa la carga útil del dispositivo descifrada a cada una de estas redes posteriores, permitiendo el seguimiento de usuarios entre aplicaciones sin consentimiento ATT.
Implicaciones
La suposición de que ATT por sí solo previene la identificación determinista es falsa. La huella digital del dispositivo a través de los campos filtrados funciona igual de bien. La falta de autenticación en la capa de cifrado también plantea preocupaciones de integridad.
📖 Leer la fuente completa: HN AI Agents
👀 Ver también

La Arquitectura OpenClaw de Confianza Cero Agrega Autorización Pre-Ejecución y Verificación Post-Ejecución.
Una arquitectura de código abierto para OpenClaw añade dos puntos de control de seguridad: un sidecar en Rust que intercepta las llamadas a herramientas antes de su ejecución con una sobrecarga de autorización submilisegundo, y una verificación determinista posterior a la ejecución que utiliza aserciones en lugar del juicio de un LLM. El sistema incluye trazabilidad con instantáneas del DOM y capturas de pantalla, además de una habilidad de compresión del DOM que reduce el uso de tokens en un 90-99%.

Vulnerabilidad de Ejecución de Código Remoto en la Aplicación Bloc de Notas de Windows CVE-2026-20841
CVE-2026-20841 es una vulnerabilidad de ejecución remota de código en la aplicación Notepad de Windows. Los detalles y los pasos de mitigación están disponibles en la guía de actualización del Centro de Respuesta de Seguridad de Microsoft.

La función de soporte de IA de Meta permite a cualquiera secuestrar cuentas de Instagram — Detalles del exploit adentro
Una función de soporte de Instagram con IA, en fase de pruebas A/B, permite a atacantes restablecer contraseñas pidiendo al agente que envíe un código a un correo arbitrario. Más de 100 cuentas de alto valor han sido robadas.

Caelguard: Escáner de Seguridad de Código Abierto para Instancias de OpenClaw
Caelguard es un escáner de seguridad de código abierto diseñado para OpenClaw que ejecuta 22 verificaciones en tu instancia, incluyendo aislamiento de Docker, alcance de permisos de herramientas y verificación de la cadena de suministro de habilidades. Proporciona una puntuación sobre 140 con una calificación por letra y pasos de remediación específicos.