Yandex Apps Leak Pre-Trigger Audio Buffers, Payment Data, and Contacts via Reverse Engineering

Reverse engineering of Yandex Search and Yandex Browser APKs reveals extensive data collection practices on Android devices. The apps maintain a server-controlled pre-trigger audio buffer that captures up to three seconds or more of microphone input before the wake word Alice is detected. WiFi fingerprinting, full contact book synchronization via ContentObserver, and transmission of PAN and CVV details to mobpayment.yandex.net occur before tokenization. Additional findings include 94 JavaScript Bridge methods, logcat exfiltration with AES encryption, hardcoded Yandex DNS servers, and a native surveillance library named libquarkenstein_daemons.so. The analysis also covers passive geolocation, cell tower data collection, and inventory of installed applications including competitors such as Chrome, Firefox, WhatsApp, and Telegram. These mechanisms operate under remote configuration flags and bypass several Android privacy restrictions through manifest queries.

HabrTranslated from Russian

Read at source

Security researchers have reverse-engineered two Yandex Android applications and uncovered extensive surveillance capabilities that affect millions of users across Samsung, Xiaomi, Honor, and Realme devices. The findings, presented in a multi-part series, detail how Yandex Search and Yandex Browser collect audio, location, payment, and contact data with minimal user visibility.

Audio Pre-Trigger Buffer

The voice assistant Alice continuously records microphone input into a ring buffer. When the wake word is detected, the application sends the preceding audio segment to Yandex servers. The buffer size is not fixed in code but is controlled remotely through parameters such as HasPreroll, buffer-size-ms, and loggingSoundLengthBeforeTriggerMs. Default configuration uses 48000 samples at 16 kHz, equaling three seconds, yet the server can extend this window arbitrarily or disable the feature entirely.

Audio flows from AudioRecord through the circular buffer, Opus or AAC encoding, and WebSocket transmission to wss://uniproxy.alice.yandex.net. The pre-trigger content is also used for biometric voiceprint construction.

WiFi Fingerprinting and Passive Geolocation

Applications scan nearby WiFi access points, collecting BSSID, SSID, and RSSI values. These data are sent to startup.mobile.yandex.net for server-side geolocation accurate to 10-50 meters indoors. The same mechanism registers a passive location provider that intercepts coordinates obtained by any other application on the device and records cellular tower identifiers including MCC, MNC, Cell ID, and LAC/TAC.

Payment Data Handling

Before tokenization, primary account number (PAN) and CVV values are transmitted to mobpayment.yandex.net. Researchers contrast this server-side approach with client-side tokenization used by Stripe, Braintree, and Adyen, noting that any logging failure or compromise of intermediate servers could expose card details.

JavaScript Bridge and Contact Exfiltration

Twenty-one addJavascriptInterface calls expose 94 @JavascriptInterface methods. Any cross-site scripting vulnerability on a yandex.ru subdomain grants attackers direct access to native device functions. Contact data are monitored in real time via ContentObserver on ContactsContract.Contacts.CONTENT_URI. Names, phone numbers, emails, organizations, photos, and call logs are serialized with protobuf and uploaded over HTTP POST with OAuth authorization. The application also reads numbers from WhatsApp, Telegram, and Viber using MIME-type filters.

Additional Surveillance Mechanisms

Runtime.getRuntime().exec("logcat -d") attempts to capture system logs, which are AES-encrypted and exfiltrated. PackageManager.getInstalledApplications and shell commands enumerate all installed applications, including banking apps, VPN clients, and content blockers. Hardcoded DNS servers 77.88.8.8 and 77.88.8.1 bypass system, VPN, and DoH configurations. A native library, libquarkenstein_daemons.so, implements audio pipelines, process manipulation, and encryption routines.

Remote configuration flags exceeding seventy allow the server to enable map saving, force Alice activation, or delay permission requests for years. The analysis concludes that these practices operate within the bounds of the published terms of service yet rely on architecture considered outdated by modern payment and privacy standards.

Meridian digestThe week's most consequential security stories, distilled into one briefing.See the digest

More in Privacy & Surveillance

Maximizing iPhone Privacy: Essential Settings to Enable, Disable, and Verify Immediately
Top 10 Secure DNS Servers for Privacy, Threat Blocking and Ad Filtering in 2026
WebRTC IP Leaks Explained: Why Disabling the Protocol Harms Anonymity in Anti-Detect Browsers