TGViewer
FrontSecOps FrontSecOps @frontsecops · 820 subscribers
Post #46 757
Frontend-фишинг с использованием JS Notification / Push API

Эти API предоставляют js-коду 📱 возможность показывать нативные уведомления браузера на устройстве пользователя. Push API (в отличии от Notification API) может показывать уведомления даже при закрытой вкладке браузера ⚠️, а на мобильных устройствах даже при закрытом браузере, поэтому рассмотрим именно его.

Исходные данные

Наше frontend-приложение уже запрашивало разрешение на показ уведомлений либо запросит, и пользователи согласятся (доверяют нашей компании).

В случае с мобильными устройствами пользователи добавили наше web-приложений на экран "Домой", что дает web-приложению права PWA (progressive web app), в том числе права на отправку push-уведомлений.

Предположим, что в ваш проект попал вредоносный js-код (с новыми версиями зависимостей, в результате компрометации сервера, сгенерирован "плохой" нейросетью и т.д.), а именно в код Service Worker (требование для вызова Push API, для Notification API в любое место в js-коде).

Злоумышленник получает возможность подключиться к своему серверу push-уведомлений и показывать пользователю нативные уведомления с любой картинкой/текстом/возможностью при клике редиректить пользователя на любой сайт⚠️. Это открывает безграничные возможности для фишинга 🤒

⚠️С вашего счета произведен перевод денег..
⚠️Заказ № 123456 оформлен, сумма 14 793 руб., дата доставки..
⚠️Обнаружен вирус на устройстве, выберите действие..
⚠️Ваш почтовый ящик заблокирован..
⚠️Кто-кто входит в ваш аккаунт..

Далее - кража учетных данных 🪪, загрузка вредоносного вложения с эксплойтом 💣 и т.п.

На Desktop и Android в push-уведомлении можно показать любую картинку (логотип банка, мессенджера, популярного приложения). В iOS всегда будет отображаться иконка нашего сайта.

Если неквалифицированные пользователи / люди в возрасте доверяют баннерам "про обновление антивируса" на сайтах с кулинарными рецептами, то нативным уведомлениям на мобильном устройстве могут поверить даже опытные пользователи.

Злоумышленники "хотят" наш frontend больше 💰, чем мы думаем… А уязвимости браузеров 📱 🌐 делают frontend-приложения идеальной точкой проникновения на устройства пользователей.

Как защититься?

🔹Контролировать использование WebAPI в frontend-приложении: Service Worker API, Push API, Notification API
🔹Контролировать целостность js-кода, включая код Service Worker
🔹Проводить инвентаризацию js-кода, включая динамически загружаемый, в runtime браузера при выполнении основных E2E-сценариев
🔹Контроль при каждом релизе и периодически в продакшене + реагирование

@FrontSecOps
More from @frontsecops
  1. Jul 21, 2026Результаты исследования безопасности российских frontend-приложений Q2 2026 Опубликовали о…
  2. Jun 24, 2026Интересная подборка инцидентов, связанных с вайб-кодингом 🌟 https://crackr.dev/vibe-codin…
  3. Jun 23, 2026Безопасный код без войны с разработчиками: практика DevSecOps в 2026 году Покупка сканера…
  4. Apr 16, 2026Почему композиционный анализ (SCA) не гарантирует отсутствие вредоносного кода в frontend-…
  5. Apr 16, 2026Через час выложу пост про Применимость композиционных анализаторов (SCA) для обнаружения в…
  6. Mar 31, 2026⚠️ Компрометация npm-пакета Axios Axios - популярный HTTP-клиент для JavaScript 📱 с > 100…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →