Microsoft обнаружила в Chrome Web Store вредоносное расширение, замаскированное под ИИ-поисковик Perplexity. После установки оно делало себя поисковой системой по умолчанию, а затем направляло каждый поисковый запрос и каждый введённый в адресной строке символ на сервер злоумышленников – и только потом перенаправляло пользователя к настоящему поисковику. Сбор данных был заложен в саму конструкцию: вместе с расширением поставлялся серверный код, который записывал все входящие запросы. К моменту публикации отчёта Google уже удалила расширение из магазина по запросу исследователей. Признаков кражи паролей не обнаружено, однако объём запрошенного доступа выходил далеко за рамки потребностей обычной строки поиска.
Подмена настоящего Perplexity доменом-двойником
Расширение называлось «Search for perplexity ai» (идентификатор flkebkiofojicogddingbdmcmkpbplcd) и копировало оформление настоящего сервиса Perplexity. Вместо официального адреса perplexity.ai оно использовало похожий домен perplexity-ai.online – такой приём часто встречается в фишинге и поддельных ИИ-приложениях.
Домен-двойник – адрес, написание которого почти повторяет настоящий, чтобы пользователь принял подделку за оригинал. Здесь perplexity-ai.online выдавали за настоящий perplexity.ai.
В манифесте расширения (версия 2.2, Manifest V3, минимальная поддерживаемая версия Chrome – 88) поисковая система называлась Perplexity Search, а её адресом поиска был указан домен злоумышленников. Через поле is_default расширение делало себя поисковой системой по умолчанию сразу после установки.
Цепочка из двух переходов: где происходил перехват
Перехват был устроен в два шага. Когда пользователь вводил запрос в адресной строке, браузер сначала отправлял его на perplexity-ai.online. Сервер злоумышленников записывал запрос вместе с HTTP-заголовками, IP-адресом и строкой User-Agent, после чего срабатывало правило перенаправления, и браузер уходил на настоящий поисковик – Perplexity, Google или Bing. Пользователь видел обычную выдачу и не замечал промежуточной остановки.
Кража данных происходила именно на первом шаге, до перенаправления. Что сбор был задуман изначально, подтверждает серверный код server.js, поставлявшийся вместе с расширением: он записывал все входящие запросы целиком, с полными заголовками.
Посимвольный перехват ввода через suggest_url
Опаснее всего оказалась работа с подсказками. Поле suggest_url в настройках поисковой системы тоже указывало на домен злоумышленников. Из-за этого на сервер уходил не только законченный запрос, но и каждый символ по мере набора – ещё до нажатия Enter. В Microsoft описывают это как слежку на уровне нажатий клавиш, а не просто перенаправление поиска.
suggest_url – поле в настройках поисковой системы браузера, которое задаёт адрес для поисковых подсказок. Символы из адресной строки отправляются туда по мере набора, чтобы показать варианты ещё до отправки запроса.
Разрешения declarativeNetRequest и заготовки для Google и Bing
Чтобы перенаправление выглядело незаметным, расширение запрашивало разрешения семейства declarativeNetRequest. Для строки поиска такие возможности избыточны: они позволяют переписывать и перенаправлять сетевые запросы, а также отслеживать, какие правила сработали. По оценке Microsoft, это и стало доказательством того, что перехват был осознанным, а не побочным эффектом перенаправления.
declarativeNetRequest – программный интерфейс расширений Chrome для блокировки и перенаправления сетевых запросов по заранее заданным правилам. Браузер применяет эти правила сам и не передаёт расширению содержимое запросов.
Google прямо предупреждает, что расширения, которые переопределяют настройки поиска и одновременно запрашивают дополнительные мощные возможности, могут нарушать правило единственного назначения. В наборе правил расширения нашлись заготовки и для других поисковиков: перенаправление для Perplexity было включено, а для Google и Bing – пока отключено, но готово к запуску. Манифест также разрешал исполнение кода WebAssembly (директива wasm-unsafe-eval); в версии 2.2 таких модулей не было, но возможность оставили на будущее.
Что делать пользователям и администраторам
Если расширение «Search for perplexity ai» было установлено, его нужно удалить и проверить, не сменилась ли поисковая система по умолчанию. В Chrome её можно вернуть через «Настройки» -> «Поисковая система». Для организаций в Microsoft советуют базовые меры: разрешать установку только проверенных расширений через политики браузера, следить за несанкционированной сменой настроек поиска, необычными разрешениями расширений и трафиком на незнакомые домены, а также относиться к инструментам с ИИ-брендингом с повышенной осторожностью и проверять издателя и домен до установки.
Заключение
Этот случай показывает, как доверие к ИИ-брендам превращается в готовый канал атаки. Расширение не крало пароли и не показывало навязчивую рекламу – через него злоумышленники тихо собирали то, что человек ищет и набирает, причём штатными механизмами Chrome. Заготовки правил для Google и Bing и оставленная возможность запускать WebAssembly показывают, что ту же схему легко развернуть шире. По данным Microsoft, это часть общей волны: в отдельной кампании по краже истории чатов ИИ-помощников насчитали около 900 тысяч установок более чем в 20 тысячах корпоративных сетей. Вывод простой: ИИ-брендинг привлекает установки, а реальную работу делает подмена поисковой системы, поэтому проверять источник расширения стоит до, а не после установки.