В мире веб-безопасности существуют атаки, которые сложно обнаружить именно потому, что они практически незаметны для пользователя и не нарушают работу сайта. Речь идёт о клиентских скимминговых атаках, когда злоумышленники крадут данные прямо из браузера посетителя. Страница загружается корректно, процесс оплаты завершается, однако в фоновом режиме исполняется вредоносный JavaScript-код, который перехватывает конфиденциальную информацию. Опасность таких угроз возрастает по мере усложнения веб-приложений и роста зависимости от сторонних библиотек и сервисов.
Описание
Если этот сценарий кажется абстрактным, достаточно вспомнить два недавних реальных инцидента. В январе 2026 года специалисты Sansec обнаружили работающий в браузере кейлоггер (программу, регистрирующую нажатия клавиш) на корпоративном магазине мерчендайза крупного американского банка. Этот скрипт собирал личные данные, учётные данные для входа и информацию о кредитных картах. Ещё раньше, в сентябре 2025 года, злоумышленники опубликовали вредоносные версии популярных пакетов в репозитории npm. Если такие пакеты попадали в итоговый код фронтенда, пользователи могли столкнуться с кражей криптовалюты прямо в браузере. Эти примеры наглядно показывают, как уязвимость в цепочке поставок программного обеспечения или компрометация одного из множества сторонних скриптов может привести к масштабной утечке данных.
Для борьбы с подобными угрозами компания Cloudflare анонсировала важные изменения в своём сервисе клиентской безопасности Client-Side Security. Во-первых, расширенная версия Client-Side Security Advanced, ранее доступная как дополнение по запросу, теперь открыта для самостоятельного подключения всеми клиентами. Во-вторых, доменная аналитика угроз стала бесплатной для всех пользователей даже базового тарифа. Эти шаги соответствуют заявленной ранее цели Cloudflare - делать мощные инструменты безопасности доступными без необходимости сложных коммерческих переговоров. Как сообщили в официальном блоге компании, цель - создание более безопасного интернета через демократизацию доступа к технологиям защиты.
Технически сервис Cloudflare Client-Side Security анализирует колоссальные 3,5 миллиарда скриптов ежедневно. В среднем на каждую корпоративную зону приходится наблюдение за 2200 уникальными скриптами. Работа строится на сборе сигналов через механизмы браузера, такие как политика безопасности контента (Content Security Policy, CSP). Это означает, что для начала работы не требуется установка специальных сканеров или инструментария в приложение, а влияние на задержку (латентность) веб-приложений равно нулю. Единственное требование - чтобы трафик проходил через прокси Cloudflare.
Расширенная версия Advanced предоставляет доступ к нескольким ключевым функциям. Это интеллектуальное обнаружение вредоносных скриптов с использованием машинного обучения и оценок большой языковой модели (Large Language Model, LLM - класс моделей искусственного интеллекта для обработки естественного языка). Также включено непрерывное отслеживание изменений в коде, что критически важно для соответствия стандартам вроде PCI DSS v4. Кроме того, система предлагает проактивные правила блокировки, поддерживаемые за счёт постоянного мониторинга.
Основная сложность в управлении клиентской безопасностью - это проблема объёма и изменчивости данных. Примерно треть всех наблюдаемых скриптов обновляется в течение любого 30-дневного периода. Ручная проверка каждого нового взаимодействия с объектной моделью документа (DOM) или исходящего соединения была бы неподъёмной задачей для команды безопасности. Поэтому стратегия Cloudflare фокусируется на анализе намерений скрипта. Для этого код разбирается на абстрактное синтаксическое дерево (Abstract Syntax Tree, AST - представление структуры исходного кода), что позволяет выявлять паттерны, сигнализирующие о злонамеренности, независимо от применённого обфускации (намеренного усложнения кода для затруднения анализа).
Однако здесь возникает классическая проблема систем обнаружения вторжений (IDS): цена ложных срабатываний. В отличие от активного сканирования уязвимостей, где межсетевой экран веб-приложений (Web Application Firewall, WAF) постоянно блокирует атаки по известным сигнатурам, компрометация клиентской части - редкое, но высокоэффективное событие. Из-за этой редкости большинство срабатываний системы статистически скорее окажутся ложными тревогами. Для специалистов по безопасности такие ложные срабатывания создают усталость и могут скрыть реальные угрозы.
Для решения этой проблемы Cloudflare интегрировала большую языковую модель (LLM) в свой конвейер обнаружения. Архитектура представляет собой каскадный классификатор. Первичную оценку проводит графовая нейронная сеть (Graph Neural Network, GNN - тип нейронной сети, эффективно работающей с графами и деревьями), которая отлично справляется с анализом структуры AST и выявлением шаблонов исполнения, игнорируя переименование переменных или минификацию кода. Она настроена на высокую полноту обнаружения (recall), чтобы ловить новые, неизвестные ранее угрозы. Её точность уже высока: менее 0,3% от всего анализируемого трафика помечается как ложное срабатывание.
Но даже такой низкий процент при масштабе в миллиарды скриптов в день создаёт значительный поток ложных тревог. Именно здесь в дело вступает LLM. Если GNN помечает скрипт как потенциально вредоносный, он передаётся на второе мнение к языковой модели, размещённой на платформе Cloudflare Workers AI. LLM обладает глубоким семантическим пониманием практик JavaScript-разработки: она распознаёт идиомы, паттерны популярных фреймворков и может отличить безобидную, хотя и странно выглядящую обфускацию, от genuinely malicious intent (истинно злонамеренных намерений). Если LLM оценивает скрипт как безопасный, она отменяет вердикт GNN.
Такой двухэтапный подход даёт синергетический эффект. LLM выступает в роли высоконадёжного фильтра точности, что позволяет снизить порог срабатывания GNN, делая его ещё более чувствительным к новым угрозам. По данным внутренних оценок, слой валидации с помощью LLM сократил общий уровень ложных срабатываний примерно в три раза - с ~0,3% до ~0,1%. При оценке уникальных скриптов снижение и вовсе достигло ~200 раз. В пересчёте на масштабы Cloudflare это означает на миллионы меньше ложных тревог для клиентов ежедневно.
Эффективность этой архитектуры уже подтверждена на практике. Недавно конвейер обнаружения выявил новый, сильно обфусцированный вредоносный скрипт (core.js), нацеленный на пользователей в определённых регионах. Его полезная нагрузка была разработана для захвата домашних маршрутизаторов на основе OpenWrt. При детальном анализе выяснилось, что скрипт демонстрирует высокую ситуационную осведомлённость: он запрашивает конфигурацию широкополосного подключения маршрутизатора, подменяет настройки DNS для перенаправления трафика через публичные китайские DNS-серверы и даже пытается заблокировать законного владельца, тихо меняя пароль администратора. Интересно, что скрипт не был внедрён непосредственно на сайты, а попадал в сессии пользователей через скомпрометированные браузерные расширения. Несмотря на сложную обфускацию, GNN успешно выявила зловредную структуру, а LLM уверенно подтвердила злонамеренность. Этот случай является наглядным примером сложной угрозы нулевого дня, которую системы, основанные на статических сигнатурах, скорее всего, пропустили бы.
Объявление Cloudflare отражает важный тренд в индустрии кибербезопасности: смещение фокуса защиты на клиентскую сторону приложений и активное использование искусственного интеллекта не только для обнаружения, но и для снижения операционной нагрузки на специалистов. Делая продвинутые инструменты более доступными, компания способствует повышению общего уровня безопасности в сети, где угрозы становятся всё более изощрёнными и незаметными.
Индикаторы компрометации
URLs
- https://api.qpft5.com
- https://ns.qpft5.com/ads/core.js
SHA256
- 4f2b7d46148b786fae75ab511dc27b6a530f63669d4fe9908e5f22801dea9202