Добавить в корзинуПозвонить
Найти в Дзене
Power Device

Самый недооцененный шпион в кармане: разбор APK «Яндекс Клавиатуры»

Многие пользователи щепетильно относятся к приватности: ставят пароли на мессенджеры, чистят историю поиска и т.д. Однако за этой цифровой паранойей скрывается огромный «слон в комнате» — клавиатура смартфона. Через неё проходит абсолютно всё: поисковые запросы, интимные переписки, пароли от банков и коды криптокошельков. В данном материале разберём подробный технический аудит свежей версии «Яндекс Клавиатуры» для Android. Исходный код приложения был разобран на винтики («декомпилирован»), а внутренние базы данных и скрытые настройки — детально изучены. Интуитивно кажется, что клавиатура фиксирует только ту букву, на которую вы нажимаете в данный момент. Но анализ Java-классов приложения показал обратное. В коде обнаружены прямые вызовы системных функций get before cursor и get text after cursor. Это значит, что приложение буквально запрашивает у операционной системы текст, находящийся вокруг мигающего курсора. С технической стороны это необходимо для генерации умных подсказок (предикт
Оглавление

Многие пользователи щепетильно относятся к приватности: ставят пароли на мессенджеры, чистят историю поиска и т.д. Однако за этой цифровой паранойей скрывается огромный «слон в комнате» — клавиатура смартфона. Через неё проходит абсолютно всё: поисковые запросы, интимные переписки, пароли от банков и коды криптокошельков.

В данном материале разберём подробный технический аудит свежей версии «Яндекс Клавиатуры» для Android. Исходный код приложения был разобран на винтики («декомпилирован»), а внутренние базы данных и скрытые настройки — детально изучены.

Что клавиатура технически видит на вашем экране?

Интуитивно кажется, что клавиатура фиксирует только ту букву, на которую вы нажимаете в данный момент. Но анализ Java-классов приложения показал обратное.

1. Чтение контекста до и после курсора

В коде обнаружены прямые вызовы системных функций get before cursor и get text after cursor. Это значит, что приложение буквально запрашивает у операционной системы текст, находящийся вокруг мигающего курсора. С технической стороны это необходимо для генерации умных подсказок (предиктивного ввода), но с точки зрения приватности — это полный доступ к контексту вашей переписки.

2. Скрытое хранилище буфера обмена

Когда вы копируете текст, ссылку, скриншот QR-кода или фотографию паспорта, в дело вступает встроенный менеджер буфера обмена (clipboard manager). Внутри файловой системы приложения была найдена скрытая приватная папка в директории clipboard. Туда клавиатура автоматически дублирует и сохраняет скопированные вами изображения. Картинки оседают в локальной памяти клавиатуры.

3. Отчеты об ошибках и покадровая реконструкция ввода

Если приложение зависает и пользователь соглашается «Отправить отчет об ошибке», на серверы отправляется массив данных, структура которого жестко прописана в файлах ресурсов. Документация в коде гласит:

«Будут отправлены нажатия на клавиши и перемещение курсора в течение последней сессии ввода».

Если перед сбоем вы вводили номер карты или писали конфиденциальное сообщение (даже если затем стерли его), у инженеров Яндекса появится пошаговая реконструкция ваших действий. Дистанционно активировать этот флаг сбора данных для разработчиков не составляет труда.

4. Пять слов «вдогонку» при свайпе

Для любителей набирать текст непрерывным движением пальца в код зашит параметр swipe reporter. При его активации в аналитику Яндекса уходит не только геометрия движения пальца по экрану, но и предыдущие пять слов из интерфейса для точной настройки алгоритма.

Безопасность и шифрование: замок без ключа

«Яндекс Клавиатура» глубоко интегрирована с единой системой аутентификации «Яндекс Паспорт». Внутри приложения создается локальная база данных, где присутствует колонка Master Token — главный цифровой ключ ко всем сервисам вашей учетной записи.

Разработчики внедрили надежную систему защиты токена через системное хранилище Android KeyStore. Однако в конфигурационных файлах системных флагов переменная encrypt data (шифровать данные) имеет жестко прописанное значение false.

Если серверный конфиг при запуске приложения не принуждает систему активировать шифрование, то ключи доступа к вашей цифровой личности сохраняются в памяти телефона открытым текстом. При заражении смартфона трояном хакерам даже не придется взламывать защиту — ключ лежит в открытом виде.

Управление этими процессами скрыто в файле строковых ресурсов под маской меню «Полезные мелочи» (внутри кода этот блок прямо называется секретными настройками). Там заложена техническая возможность перенаправлять трафик на сторонние адреса, включать тотальное логирование нажатий и скрывать иконку приложения с экрана.

Искусственный интеллект и отправка на сервер

В коде клавиатуры присутствуют параметры для нейроисправления текста. Разработчики предусмотрели флаг Neocorrect Use Local Model, который должен позволять обрабатывать текст локально — силами нейросети на процессоре телефона, без интернета.

Однако на текущий момент этот флаг также переведен в режим false. Из-за этого вводимый вами текст пакуется и отправляется на внешние веб-адреса Яндекса для обработки на удаленных серверах компании.

Ложка меда: как защищены пароли?

Справедливости ради, инженеры Яндекса уделили серьезное внимание безопасности критически важных данных. В коде реализованы жесткие фильтры на тип вводимых данных:

  • Если приложение определяет, что поле ввода имеет системный статус «Пароль» (password type), клавиатура моментально блокирует все аналитические функции.
  • В этот момент полностью отключается сбор контекста, отрубаются умные подсказки и Т9. Клавиатура изолируется и становится «тупым» набором кнопок, ничего не передающим вовне.

Итог

Современная мобильная клавиатура — это уже давно не просто раскладка букв, а огромный комбайн, оснащенный нейросетями, доступом к буферу обмена, микрофону и глубокой аналитике. Поверхность сбора данных здесь колоссальна. Всё это может отправляться на сервера разработчиков данного продукта, и к сожалению не только «Яндекс клавиатура» собирает такие данные. Но именно она делает это обширно и с особой радостью.

Нет смысла шифровать интернет-трафик продвинутыми VPN-протоколами, если все вводимые символы и скопированные изображения добровольно отдаются приложению клавиатуры, работающему в фоновом режиме.