Про безопасность тогда никто особо не думал. В 2011 году нидерландский исследователь под псевдонимом WhatsappHack опубликовал метод угона аккаунтов через уязвимость в процессе аутентификации. В 2012-м выяснилось, что сообщения хранятся в незашифрованной базе SQLite прямо на устройстве и любое другое приложение с доступом к файловой системе может их прочитать. End-to-end шифрование появилось только в апреле 2016 года — через семь лет после запуска. До этого весь трафик шифровался только между клиентом и серверами WhatsApp, но не между собеседниками.
Telegram запустился в 2013-м. В первый день публикации на Хабре появилась статья с разбором уязвимости в первой версии MTProto протоколе, который братья Дуровы написали сами, не опираясь на устоявшиеся стандарты. Уязвимость позволяла провести атаку «человек посередине» так, что ключи подменялись без видимого предупреждения. Команда Telegram починила баг в день публикации и выплатила автору $100 000. Это был хороший знак реакция быстрая, вознаграждение честное.
Но проблемы не закончились. В 2015 году исследователи нашли слабость в протоколе обмена ключами. В 2016-м специалисты открыто критиковали нестандартный дизайн MTProto — отсутствие формального доказательства безопасности, нетипичные криптографические решения, сложность корректной реализации в сторонних клиентах. В 2021-м криптографы из ETH Zürich и Royal Holloway нашли несколько уязвимостей в MTProto 2.0 уже исправленной версии. Формулировка из их резюме стала классической: «непосредственный риск для большинства пользователей невысок, но Telegram не достиг криптографических гарантий, которые обеспечивают другие широко используемые протоколы».
И это не считая того, что сквозное шифрование в Telegram до сих пор не включено по умолчанию. Обычные чаты шифруются только между клиентом и серверами Telegram сама компания имеет доступ к вашим сообщениям. Secret Chats с E2EE нужно включать руками, и большинство пользователей этого не делает.
Это важно понимать как фон: мессенджеры с многомиллиардными бюджетами и лучшими инженерами годами решали базовые вопросы безопасности. Рассматривать MAX в отрыве от этого контекста было бы нечестно.
Что такое MAX и откуда он взялся
MAX не первая попытка VK создать «национальный мессенджер». До него была долгая история неудач.
Роскомнадзор впервые публично заговорил о национальном мессенджере ещё в 2015 году. Тогда же VK запустил VK Мессенджер продукт без внятной стратегии и с аудиторией, которая категорически не хотела пересаживаться с Telegram. Несколько лет попыток ни к чему не привели: слишком много технических проблем, слишком мало доверия, слишком очевидная связь с государством.
В 2024 году от VK Мессенджера тихо отказались и бросили ресурсы на новый проект. 25 марта 2025 года генеральный директор VK Владимир Кириенко анонсировал MAX по его словам, название от слова «максимум». Амбиция была WeChat-масштаба: мессенджер плюс платежи плюс госуслуги плюс мини-приложения плюс чат-боты. Всё в одном.
Продукт вышел быстро слишком быстро для заявленных амбиций. Уже в первые недели стало ясно, что MAX значительно уступает конкурентам по базовому функционалу, который в Telegram и WhatsApp отточен годами. Публичные каналы появились только в июле 2025 года — через несколько месяцев после запуска. Голосовые и видеозвонки работали нестабильно. Интерфейс менялся резко и непредсказуемо.
Всё это было бы обычной историей сырого стартапа, если бы не одно обстоятельство: MAX не стартап. За ним стоит VK компания, фактически управляемая государством через Владимира Кириенко, сына первого заместителя руководителя Администрации Президента. По структуре акционеров государство контролирует более половины голосующих акций. VK убыточен на миллиарды рублей и существует в том числе за счёт государственных механизмов поддержки. При этом MAX активно продвигается в регуляторных документах — его интеграцию в ЖКХ, образование и госуслуги поддерживают на законодательном уровне.
Стартап имеет право быть сырым. Государственный мессенджер с принудительной дистрибуцией — другой разговор.
Что нашли внутри APK
В марте 2026 года пользователь под ником runetfreedom опубликовал на Хабре реверс-инжиниринг Android-версии MAX (v26.4.3). Инструментарий стандартный: mitmproxy для перехвата трафика, JADX для декомпиляции APK в читаемый Java-код. Затем в мае 2026-го вышел второй разбор с новыми находками.
Ключевая находка — класс, который в исходниках называется по шаблонному имени JADX (on7 в одной из версий), но найти его легко по строке GET_HOST_REACHABILITY. Логика работы такая.
При каждом переходе приложения в foreground запускается серия запросов к шести внешним сервисам определения IP-адреса: три российских (включая ipv4-internet.yandex[.]net) и три зарубежных (ipify[.]org, checkip.amazonaws[.]com, ifconfig[.]me). Параллельно выполняется TCP-проверка на порт 443 к серверам Telegram и WhatsApp. Всё это упаковывается в бинарный пакет и уходит на api.oneme[.]ru в том же потоке, что и обычный трафик мессенджера.
Зачем шесть сервисов вместо одного? Это не дублирование. Три российских возвращают реальный IP провайдера, три зарубежных — выходной IP туннеля, если он есть. Если результаты расходятся, пользователь использует split tunneling. IP-адрес зарубежного сервиса адрес VPN-сервера. Для личного VPS с единственным адресом на вход и выход точность стопроцентная.
TCP-проверка на Telegram и WhatsApp прямой тест эффективности блокировки ТСПУ. Если соединение прошло, блокировка не работает.
Что принципиально в архитектуре: трафик намеренно смешан с основным потоком мессенджера. Заблокировать аналитику без блокировки самого MAX технически невозможно. Это не случайное решение — для разделения потоков используется простой JSON с отдельным полем. Никакой технической необходимости смешивать их не было.
Отдельно: приложение передаёт PLMN_CODE код мобильного оператора. Это стандартный API Android, не требующий отдельных разрешений. По нему однозначно определяется страна и оператор. Отключить сбор этого поля пользователь не может.
Официальный ответ пресс-службы: всё это нужно для WebRTC-звонков и проверки push-уведомлений. К VPN и персональным данным отношения не имеет.
Ответ не выдерживает критики. Для проверки работы WebRTC-звонков не нужно знать, доступен ли Telegram с устройства пользователя прямо сейчас. Push-уведомления не требуют TCP handshake с серверами конкурирующего мессенджера. Три российских и три зарубежных IP-чекера нужны именно для детектирования split tunneling у WebRTC нет такой задачи.
После публикации первой статьи вышла версия 26.7.1 с отключенными проверками для Telegram и WhatsApp. Код остался в APK класс on7 никуда не делся, просто конфигурационный флаг переключили на сервере. Функциональность управляется удалённо и может быть включена обратно без обновления приложения.
В мае 2026 года вышел второй реверс, который нашёл дополнительные механизмы сбора данных об установленных приложениях и контактах, а также систему принудительного обновления с собственных серверов в обход Google Play — прямое нарушение правил магазина.
Сравнительная таблица: что знают о вас мессенджеры
Telegram: открытый код как страховка
Отдельного внимания заслуживает тема форков Telegram — она напрямую связана с тем, почему история MAX выглядит принципиально иначе.
Когда Россия начала блокировать Telegram в 2018 году, а затем в 2022–2025 годах давление на мессенджер усилилось, в русскоязычном техническом сообществе появились несколько проектов, которые пытались решить проблему обхода блокировок на уровне клиента.
Самый известный Nekogram (форк для Android) и Unigram (для Windows). Они берут открытый исходный код официального Telegram-клиента, добавляют функции, которых нет в оригинале — кастомные прокси, расширенный интерфейс, дополнительные настройки конфиденциальности. Ключевое: любой может взять их код, проверить что там происходит и убедиться, что новая функция не добавила ничего лишнего.
Проект telemt (упомянутый в тредах на NTC Forum) пошёл дальше: обнаружив, что официальный клиент Telegram некорректно реализовывал Fake TLS в mtproxy — использовал неверный идентификатор расширения ECH и указывал длину ключа как 20 вместо 0x20 — они сделали PR в официальный репозиторий. Сигнатура была настолько предсказуемой, что ТСПУ мог детектировать её без глубокой инспекции пакетов. Команда Telegram приняла фикс (с задержкой и без публичного упоминания авторов, что вызвало законное раздражение), но фикс работает.
Это и есть открытый код в действии. Проблема обнаружена сообществом, исправление предложено публично, любой может проверить что именно изменилось. Когда Telegram ведёт себя не идеально (а ведёт — задержки с обновлениями, игнорирование безопасности MTProto годами), это видно и критикуется. Именно поэтому доверие к платформе держится: не потому что она безупречна, а потому что злоупотребление будет замечено.
С MAX форки технически невозможны в том же смысле. Приложение закрытое, команда активно преследует попытки создать альтернативные клиенты. На GitHub есть несколько попыток репаков с удалёнными модулями — но без исходного кода это игра вслепую: нельзя доказать, что репак не добавил что-то своё.
Иранский кейс: когда всё уже было
Реакция на ситуацию с MAX в российском IT-сообществе вызвала у многих ощущение дежавю. Потому что очень похожее уже происходило в Иране.
Когда иранские власти начали ограничивать доступ к Telegram, появились локальные клиенты Telegram с персидским интерфейсом и «улучшенными» функциями. Часть из них распространялась через государственные каналы, часть через неформальные. Впоследствии выяснилось, что некоторые из этих клиентов содержали скрытые модули сбора данных. История стала широко известна именно потому, что там был закрытый код и не было способа проверить что внутри до того как всё стало публичным.
Иранская версия Telegram — Telegram Talaeii и Hotgram — использовались десятками миллионов человек. Исследователи из Citizen Lab установили, что оба клиента передавали данные на иранские серверы. После огласки Telegram официально запретил эти клиенты и отозвал их API-ключи.
MAX в этот контекст вписывается точно. Государственный мессенджер с закрытым кодом, принудительной дистрибуцией и задокументированными функциями сбора сетевой информации — это не уникальная российская история. Это паттерн.
Что именно означает «сырой продукт»
Претензия к MAX как к «сырому продукту» часто звучит слишком обобщённо. Конкретнее: что именно не доделано и почему это важно именно сейчас.
Отсутствие E2EE. Telegram без секретных чатов тоже не имеет сквозного шифрования — это правда. Но Telegram существует с 2013 года, и за это время выработались инструменты работы с этим ограничением: Secret Chats хорошо описаны, пользователи знают о разнице. MAX вышел в 2025 году без E2EE и без публичного roadmap когда оно появится. В 2025 году запускать мессенджер без E2EE по умолчанию не «сырой продукт», это архитектурное решение.
Нет публичной bug bounty программы. У Telegram она есть с первого года, WhatsApp работает через HackerOne, Signal регулярно проходит независимые аудиты. У MAX нет публично заявленного механизма ответственного раскрытия уязвимостей. Исследователи, нашедшие проблему, не знают куда идти кроме как опубликовать статью на Хабре.
Нет независимого аудита. Команда MAX декларирует безопасность, но нет ни одного публично известного независимого исследования, которое это подтверждало бы. Для мессенджера, интегрированного с Госуслугами, это серьёзный пробел.
Управление функциями с сервера. Это архитектурная особенность, которая в сочетании с закрытым кодом даёт команде MAX (и тем, кто её контролирует) возможность включить или выключить любую функцию без обновления приложения и без ведома пользователя. Закрытый код плюс серверное управление — это модель, при которой никакой внешний наблюдатель не может сказать что именно приложение делает прямо сейчас.
Принудительное обновление в обход Google Play. Найденный в мае 2026 года механизм позволяет MAX обновлять себя с собственных серверов. Это нарушение правил Google Play и одновременно механизм, при котором пользователь не контролирует какую версию приложения он запустит.
Практика: что делать если MAX обязателен
Это реальный вопрос для многих в школах, госорганизациях, медицинских учреждениях. Просто удалить нельзя. Что тогда?
Per-app туннелирование на Android единственное надёжное решение для защиты выходного адреса VPN. В большинстве клиентов (v2rayNG, sing-box, HAPP) есть режим, где туннель применяется только к выбранным приложениям. MAX в этот список не включается. Приложение всё равно прочитает системный флаг VPN_IS_ACTIVE но выходной IP туннеля не увидит, потому что его трафик физически идёт напрямую.
Split tunneling по geoip не защищает. Логика модуля использует хосты из обоих сегментов одновременно — три российских IP-чекера и три зарубежных. Российские запросы идут напрямую, зарубежные попадают в туннель, и расхождение детектируется.
iOS — сложнее. Per-app туннелирование без MDM недоступно. Варианты: Shortcuts для автоматического отключения VPN при открытии MAX, отдельное устройство без VPN, или согласиться с тем что MAX видит IP туннеля.
Корпоративная инфраструктура. Если устройства с MAX подключаются к корпоративной сети, разумно изолировать их в отдельный VLAN без доступа к внутренним ресурсам. MAX не нужен доступ к вашим файловым серверам или базам данных для работы как мессенджер. На управляемых устройствах — ограничить исходящие подключения через MDM.
Блокировка IP-чекеров на DNS уровне — временная мера. ipify[.]org, ifconfig[.]me, checkip.amazonaws[.]com можно заблокировать локально. Но список хостов приходит с сервера и обновляется. Это решение работает неделю-другую, не больше.
Почему это важно за пределами VPN
Естественная реакция на всю эту историю — «ну и ладно, я VPN не использую». Это неверный вывод.
Во-первых, 40-50 миллионов пользователей VPN в России не маргинальная группа. Это значительная часть экономически активного населения, включая разработчиков, предпринимателей, юристов, журналистов.
Во-вторых, сам факт наличия в мессенджере модуля, который сканирует сетевую среду и отправляет результаты на серверы компании — это архитектурный прецедент. Сегодня это IP-адреса VPN. Завтра это может быть список установленных приложений (уже найден в майском реверсе), список доступных Wi-Fi сетей, паттерны использования приложения. Граница определяется не технической возможностью, а решением команды на сервере.
В-третьих, модуль управляется удалённо и может быть перенастроен без обновления. Что именно он делает прямо сейчас — открытый вопрос.
Что должно было быть сделано иначе
Это не риторика. Это список конкретных решений, которые отличают зрелый продукт от незрелого. Telegram при запуске тоже имел уязвимости. Но он сразу опубликовал bug bounty на $200 000, открыл исходный код клиентов и взаимодействовал с исследователями. WhatsApp потратил семь лет на внедрение E2EE, но хотя бы двигался в этом направлении последовательно.
MAX мог бы: объявить публичную программу bug bounty до запуска; заказать независимый аудит безопасности и опубликовать результаты; открыть исходный код клиентской части или хотя бы протокола; чётко задокументировать какие данные и зачем собираются; ответить на вопросы исследователей технически, а не через пресс-службу.
Вместо этого — закрытый код, серверное управление функциями, официальный ответ уровня «это для WebRTC», и обновление которое отключает флаги но оставляет код. Мессенджер можно запустить сырым. Но доверие нельзя занять у пользователей обещаниями его зарабатывают прозрачностью. Особенно когда пользователи не выбирают приложение добровольно.