Telegram Web загрузил 30% процессора: расследование багов, воркеров и подозрительных скриптов

Статья на рассказывает о необычном кейсе с веб-версией , которая внезапно стала загружать 30% мощности 16-ядерного процессора пользователя через процесс Chrome, даже после перезагрузок и отключения электричества. Расследование выявило целый ряд архитектурных аномалий:

  • Персистентность Service Worker: воркер Telegram Web оставался активным несколько дней и запускался вновь при каждом старте браузера, несмотря на отсутствие открытых вкладок и даже после перезагрузки ОС и отключения питания.
  • Феномен "зомби-приложения": фронтенд (UI) Telegram Web не загружался (белый экран), но фоновые воркеры продолжали работать, потребляя ресурсы.
  • Использование blob: URL: воркеры загружались через blob-ссылки, что делает аудит кода сложнее и повышает риски непрозрачности архитектуры.
  • Активный крипто-воркер: несмотря на то, что веб-версия Telegram не поддерживает секретные чаты, крипто-воркер используется для базового шифрования MTProto и защиты Cloud Chats.
  • Неэффективная поддержка: официальные каналы Telegram не отвечают на обращения по критическим багам, усиливая недоверие к сервису.

В ходе анализа не было обнаружено признаков майнинга — все сетевые подключения шли к доменам Telegram, стороннего вредоносного кода не найдено. Проблема оказалась связана с критическим багом жизненного цикла Service Worker и неэффективной работой библиотеки rlottie для рендеринга анимированных эмодзи, что приводило к аномальной загрузке CPU.

Рекомендации включают принудительное удаление Service Worker через DevTools, очистку данных сайта, обновление Chrome и осторожное использование расширений. Кейc иллюстрирует потенциальные риски современных сложных веб-приложений, особенно при непрозрачной архитектуре и слабой поддержке со стороны разработчиков.

← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!