
Почему может быть опасно держать открытыми Mini Apps в Telegram или где нибудь ещё: Focus Hijacking на практике
k3ystrin9 1 минуту назад Почему может быть опасно держать открытыми Mini Apps в Telegram или где нибудь ещё: Focus Hijacking на практике Простой 3 мин 0 JavaScript * Информационная безопасность * Мессенджеры * Кейс Из...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: k3ystrin9 1 минуту назад Почему может быть опасно держать открытыми Mini Apps в Telegram или где нибудь ещё: Focus Hijacking на практике Простой 3 мин 0 JavaScript * Информационная безопасность * Мессенджеры * Кейс Из песочницы И так, вы в Telegram Web и вы запускаете безобидное на первый взгляд Mini App, сворачиваете его или просто переключаетесь на соседний приватный чат, чтобы продолжить переписку. Казалось бы, контексты изолированы, фрейм приложения неактивен, и вы в полной безопасности. Но так ли это на самом деле?
Всё началось с негромких новостей от малоизвестного блогера, которого в сети называют «Дядя J», который упомянул странное поведение Mini Apps в Telegram и не только. А проблема заключалась в фрейме. Я решил проверить концепцию и вот что из этого вышло.
Технические детали
// чутчут костылькода (function() { let lastBlurTime = 0; window. addEventListener('blur', () => { lastBlurTime = performance. now(); setTimeout(() => { window.
focus(); }, 5700); }); window. addEventListener('focus', () => { if (lastBlurTime === 0) return; const focusDelta = performance. now() - lastBlurTime; lastBlurTime = 0; analyzeParentState(focusDelta); }); setInterval(() => { if (document.
focus(); } }, 15700); function analyzeParentState(delta) { const statusDiv = document. getElementById('status //statusDiv. innerHTML = ` ${delta.
Отраслевые последствия
toFixed(2)}ms`; console. toFixed(2)}ms`); } })();Дело начинается в функции метода управления фокусом страницы (window. Браузер позволяет дочернему фрейму запрашивать фокус с помощью метода window.
Скрипт вешает обработчик на событие blur самого окна. Как только пользователь пытается кликнуть на чат Telegram или переключить внимание на мессенджера, фрейм фиксирует потерю фокуса (срабатывает blur), запускает таймер и через 5. 7 секунд агрессивно возвращает фокус обратно себе.
setInterval, каждые 15. 7 секунд проверяет: если фокус ушел, то вернуть его. В результате фрейм время от времени принудительно забирает фокус.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




