Исследователи обнаружили первый Android-вредонос, использующий генеративный ИИ для манипуляций с интерфейсом

information security

Аналитики компании ESET обнаружили первый известный случай использования генеративного искусственного интеллекта (ИИ) в Android-вредоносном программном обеспечении для контекстно-зависимого управления пользовательским интерфейсом. Хотя машинное обучение уже применялось для схожих целей - недавно исследователи Dr.WEB обнаружили Android.Phantom, использующий модели TensorFlow для анализа скриншотов рекламы и автоматического клика по элементам в мошеннических схемах - это первый раз, когда генеративный ИИ был задействован подобным образом. Поскольку злоумышленники полагаются на запросы к модели ИИ (в данном случае, к Google Gemini) для управления вредоносными действиями с интерфейсом, новое семейство получило название PromptSpy. Это уже второй вредонос с элементами ИИ, обнаруженный ESET - вслед за PromptLock в августе 2025 года, который стал первым известным случаем программ-вымогателей, управляемых ИИ.

Описание

Генеративный ИИ задействован лишь в относительно небольшой части кода PromptSpy, а именно в механизме закрепления в системе (persistence). Однако это оказывает существенное влияние на адаптивность вредоноса. Конкретно, Gemini используется для анализа текущего экрана и предоставления PromptSpy пошаговых инструкций о том, как обеспечить постоянное присутствие вредоносного приложения в списке последних использованных программ, что мешает пользователю легко свайпнуть или закрыть его. Модель ИИ и промпт (текстовый запрос) предопределены в коде и не могут быть изменены. Поскольку Android-вредоносы часто зависят от навигации по интерфейсу, использование генеративного ИИ позволяет угрозчикам адаптироваться практически к любому устройству, макету экрана или версии операционной системы, что значительно расширяет пул потенциальных жертв.

Основная цель PromptSpy - развертывание встроенного модуля VNC, который предоставляет операторам удаленный доступ к устройству жертвы. Этот вредонос также злоупотребляет службой специальных возможностей (Accessibility Service), блокируя удаление с помощью невидимых наложений, перехватывает данные экрана блокировки и записывает видео. Связь с командным сервером (C&C) осуществляется по протоколу VNC с использованием шифрования AES.

На основе языковых особенностей и наблюдаемых векторов распространения, эта кампания, по-видимому, финансово мотивирована и в первую очередь нацелена на пользователей в Аргентине. Примечательно, что анализ образцов PromptSpy указывает на то, что он был разработан в китаеязычной среде. PromptSpy распространялся через специальный сайт и никогда не появлялся в Google Play. Будучи партнером App Defense Alliance, ESET поделилась результатами исследования с Google. Пользователи Android автоматически защищены от известных версий этого вредоноса с помощью Google Play Protect, который включен по умолчанию на устройствах с сервисами Google Play.

Несмотря на то, что PromptSpy использует Gemini лишь в одной из своих функций, это наглядно демонстрирует, как интеграция подобных инструментов ИИ может сделать вредонос более динамичным, предоставляя угрозчикам способы автоматизации действий, которые традиционно было сложно реализовать с помощью обычных скриптов. Обычно Android-вредоносы зависят от жестко заданных параметров экрана, таких как координаты тапов или селекторы элементов интерфейса - методы, которые могут перестать работать при изменении интерфейса на разных устройствах, версиях ОС или оболочках производителей. PromptSpy же использует совершенно иной подход: он отправляет Gemini текстовый промпт вместе с XML-дампами текущего экрана, предоставляя ИИ детальное представление о каждом элементе интерфейса - его тексте, типе и точном положении на дисплее.

Gemini обрабатывает эту информацию и отвечает инструкциями в формате JSON, которые сообщают вредносу, какое действие выполнить и где. Вреднос сохраняет как свои предыдущие промпты, так и ответы Gemini, что позволяет ИИ понимать контекст и координировать многошаговые взаимодействия. PromptSpy продолжает запрашивать Gemini до тех пор, пока ИИ не подтвердит успешную блокировку приложения, демонстрируя цикл обратной связи, в котором вреднос ждет валидации перед переходом к следующему шагу.

В феврале 2026 года исследователи обнаружили две версии ранее неизвестного семейства вредоносного ПО для Android. Первая версия, получившая название VNCSpy, появилась на VirusTotal 13 января 2026 года и была представлена тремя образцами, загруженными из Гонконга. 10 февраля 2026 года четыре образца более продвинутого вредоноса на базе VNCSpy были загружены на VirusTotal из Аргентины. Анализ этих образцов выявил многостадийный вреднос со зловредной полезной нагрузкой (payload), злоупотребляющей Google Gemini. Основываясь на этих находках, первая стадия была названа PromptSpy dropper, а её полезная нагрузка - PromptSpy.

Следует отметить, что образцы dropper'а или его нагрузки пока не наблюдались в телеметрии ESET, что может указывать на то, что они являются лишь концептуальными доказательствами (proof of concept). Однако, учитывая существование возможного домена распространения, нельзя исключать, что PromptSpy может присутствовать "в дикой природе". Согласно данным VirusTotal, все четыре образца dropper'а распространялись через сайт mgardownload[.]com, который на момент анализа был уже недоступен.

После установки и запуска dropper открывал веб-страницу, размещенную на m‑mgarg[.]com. Хотя этот домен также был недоступен, кэшированная версия Google показала, что он, вероятно, выдавал себя за сайт Chase Bank. Вреднос использует схожий брендинг: название приложения MorganArg и иконку, вдохновленную Chase. MorganArg, вероятно, сокращение от "Morgan Argentina", также фигурирует как имя кэшированного сайта, что указывает на региональную направленность атаки. Дальнейший анализ позволил обнаружить еще один образец вредоноса (Android/Phishing.Agent.M), который, судя по всему, функционирует как приложение-компаньон, разработанное той же группой злоумышленников. Этот троянец, вероятно, служит начальной стадией, предназначенной для подведения жертв к установке PromptSpy.

Как VNCSpy, так и PromptSpy включают компонент VNC, который предоставляет операторам полный удаленный доступ к скомпрометированным устройствам после активации пользователем службы специальных возможностей. Это позволяет операторам видеть всё, что происходит на устройстве, и выполнять тапы, свайпы, жесты и ввод текста, как если бы они физически держали телефон в руках. Помимо возможностей, уже присутствовавших в VNCSpy, PromptSpy добавляет управление интерфейсом с помощью ИИ, что помогает ему поддерживать закрепление в системе, удерживая вредоносное приложение закрепленным в списке последних приложений. Исследователи полагают, что эта функциональность используется до установления VNC-сессии, чтобы пользователь или система не могли завершить активность PromptSpy из этого списка.

При анализе PromptSpy было замечено, что он содержит отладочные строки на упрощенном китайском языке, а также обработку различных типов событий специальных возможностей на китайском. Эти детали со средней степенью уверенности указывают на то, что PromptSpy был разработан в китаеязычной среде. Технический анализ показывает, что ядро вредоносной функциональности содержится в APK-файле, встроенном в ресурсы dropper'а. После установки и запуска полезной нагрузки она запрашивает разрешения для службы специальных возможностей, а затем отображает на переднем плане экран-заставку, имитирующий загрузку. В фоновом режиме начинается общение с Gemini AI для получения инструкций по блокировке процесса в списке последних приложений.

Когда пользователь видит активность "Loading, please wait", PromptSpy с помощью службы специальных возможностей открывает экран последних приложений и собирает детальную информацию об интерфейсе: видимый текст, описания, имена классов, имена пакетов и границы элементов. Он сериализует этот динамический снимок интерфейса в XML и включает его в свой промпт для Gemini. В ответ Gemini возвращает пошаговые инструкции по тапам для выполнения жеста "блокировка приложения". Этот процесс образует непрерывный цикл: PromptSpy отправляет обновленный контекст интерфейса Gemini, Gemini отвечает новыми действиями, PromptSpy выполняет их и возвращает результирующее состояние экрана. Цикл продолжается до подтверждения Gemini успешной блокировки. Все действия, предложенные Gemini, выполняются через службу специальных возможностей, позволяя вредносу взаимодействовать с устройством без участия пользователя.

Основная вредоносная возможность PromptSpy заключается во встроенной службе VNC. Это позволяет атакующим удаленно просматривать экран жертвы в реальном времени и полностью контролировать устройство. Вреднос общается с жестко заданным командным сервером по протоколу VNC; сообщения шифруются с использованием AES. Через этот канал связи вреднос может получать ключ API Gemini, загружать список установленных приложений, перехватывать PIN-код или пароль блокировки экрана, захватывать экран разблокировки по рисунку в виде видео, сообщать, включен экран или выключен, передавать информацию о текущем приложении на переднем плане, записывать экран и жесты пользователя для приложений, указанных сервером, а также делать скриншоты по запросу.

PromptSpy также злоупотребляет службой специальных возможностей как механизмом защиты от удаления. Когда пользователь пытается удалить полезную нагрузку или отключить службу, вреднос накладывает прозрачные прямоугольники на определенные области экрана - особенно на кнопки, содержащие подстроки типа "stop", "end", "clear" и "Uninstall". Эти наложения невидимы для пользователя, но перехватывают взаимодействия, затрудняя удаление. Поскольку PromptSpy блокирует удаление, накладывая невидимые элементы на экран, единственный способ для жертвы удалить его - перезагрузить устройство в безопасном режиме, где сторонние приложения отключены и могут быть удалены обычным способом.

PromptSpy показывает, что Android-вредоносное ПО начинает развиваться в зловещем направлении. Полагаясь на генеративный ИИ для интерпретации элементов на экране и принятия решений о взаимодействии с ними, вреднос может адаптироваться практически к любому устройству, размеру экрана или макету интерфейса, с которым он сталкивается. Вместо жестко заданных тапов он просто передает ИИ снимок экрана и получает в ответ точные пошаговые инструкции по взаимодействию, что помогает ему реализовать метод закрепления в системе, устойчивый к изменениям интерфейса. В более широком смысле эта кампания показывает, как генеративный ИИ может сделать вредоносное ПО гораздо более динамичным и способным к принятию решений в реальном времени. PromptSpy является ранним примером Android-вредоноса, использующего генеративный ИИ, и иллюстрирует, насколько быстро злоумышленники начинают применять инструменты ИИ для повышения эффективности своих атак.

Индикаторы компрометации

IPv4

  • 104.21.91.170
  • 52.222.205.45
  • 54.67.2.84

Domains

  • mgardownload.com
  • m-mgarg.com

MD5

  • 12609e847c88f2e88b54efdb81b5b154
  • 363846aab242c38bdfadb7634a335b34
  • 3efebd8289652af8b3da8ff77acad36b
  • 7b89c56c39a4567e62e234332c9abef5
  • bca333fb7d798065307200ea870d4982
  • be9e8803e294e7cd5f1a991774ea81b9
  • d35341798bd6ce066d3bea0a6acc18f3
  • d53dfcac2586131ab99383c6b8060f8a
  • e7dd284c175192580a97f843b7629689

SHA1

  • 076801bd9c6eb78fc0331a4c7a22c73199cc3824
  • 375d7423e63c8f5f2cc814e8cfe697ba25168afa
  • 3978ac5cd14e357320e127d6c87f10cb70a1dcc2
  • 6bbc9ab132ba066f63676e05da13d108598bc29b
  • 8364730e9bb2cf3a4b016de1b34f38341c0ee2fa
  • 9b1723284e311794987997cb7e8814eb6014713f
  • c14e9b062ed28115ede096788f62b47a6ed841ac
  • e60d12017d2da579df87368f5596a0244621ae86
  • f8f4c5bc498bcce907dc975dd88be8d594629909

SHA256

  • 067d5dbbd24f988f0c945a08556dec3a1c789398ae46842038ea96a9b2384427
  • 11f5c91d24c9d1eee16dacacfb9160e299544c1a854af92f79daf88364cea0b6
  • 299ae5afdf4338e1e5d68656c67719346277deae20d9d013079244302040db7e
  • 468eed1131e4b562ae32ff2734d9feb37c9b8e2097df05431867279614c8502a
  • 4ee3b09dd9a787ebbb02a637f8af192a7e91d4b7af1515d8e5c21e1233f0f1c7
  • 6a3f0bf6739ee69012b4c2b61e43a2ce7c7d9ee145b4efe0395961e08e3beac7
  • b420b96e0d76702f51ba0e3364da881aaf766e00538059e58fec6b7676a68e6c
  • d076268a34eb62ba17aaf3cfb244998bd3a1a9a4c1ca98d21944d94da30f42a8
  • db7a1c352c7d1ac75e0ba31b71cf4b0e3304a22b8d0d636fa80b5d5095be1e00
Комментарии: 0