Mastodon Mastodon Mastodon Mastodon

Невидимые инструкции для AI-агентов Android позволяют выполнить код на хосте оператора

Фото автора

CyberSecureFox Editorial Team

Опубликовано:

Группа исследователей из Simon Fraser University, Китайского университета Гонконга, Шаньдунского университета и лаборатории Xingtu (QAX) опубликовала на arXiv работу, демонстрирующую семь атак против пяти открытых фреймворков мобильных AI-агентов: AppAgent, AppAgentX, Mobile-Agent-v3, Open-AutoGLM и MobA. Цепочка атак начинается с невидимого для человека текста на экране Android-устройства и заканчивается выполнением произвольных команд на ПК, управляющем агентом. Каждый из пяти фреймворков оказался уязвим минимум к шести из семи продемонстрированных техник. По данным авторов, эксплуатация в реальных условиях не зафиксирована, а затронутое ПО — инструментарий для разработчиков, требующий включённой USB-отладки и установленного вспомогательного приложения.

Анатомия цепочки: от пикселя до shell

Ключевая проблема — отсутствие границы безопасности между тем, что AI-модель «видит» на скриншоте, и тем, что она передаёт в системную оболочку хоста. Атака эксплуатирует три слабых звена одновременно: восприятие модели, файловую систему устройства и механизм ввода команд.

Невидимый текст, видимый моделям

По данным исследователей, все шесть протестированных моделей машинного зрения — включая GPT-4o, Claude Opus 4.5, Gemini 3 Pro и GLM-4V — распознали текст с прозрачностью 2% минимум в 18 из 20 попыток. Четыре из них показали результат 20/20. Человеческое зрение при нормальных условиях просмотра такой текст не фиксирует. Это создаёт асимметрию: вредоносное приложение с правом рисования поверх окон может разместить инструкции, невидимые пользователю, но полностью читаемые агентом.

Аппаратная версия этой же проблемы — скруглённые углы и вырезы под камеру. Фреймбуфер остаётся прямоугольным, и пиксели, скрытые за рамкой, попадают в каждый скриншот. На Pixel 4, по данным работы, это около 78 пикселей ширины в одном углу — достаточно для короткой команды. Все пять агентов прочитали полезную нагрузку из этих областей.

Гонка за скриншот

Фреймворки сохраняют скриншоты в общедоступное хранилище устройства перед их загрузкой на хост. Open-AutoGLM записывает файл по фиксированному пути /sdcard/tmp.png. Mobile-Agent-v3 использует /sdcard/screenshot.png с полусекундной паузой между захватом и извлечением. AppAgentX применяет предсказуемые имена с инкрементным счётчиком. Конфигурация AppAgent по умолчанию указывает на /sdcard.

Исследователи замерили окно между записью и чтением файла: от 50 до 500 мс, в среднем около 210 мс за 100 запусков. Фоновый сервис, опрашивающий файл каждые 5–10 мс, успевает подменить PNG до того, как агент его заберёт. Успешность подмены составила от 19/20 до 20/20 для четырёх из пяти фреймворков.

От скриншота к выполнению кода на хосте

Самое критичное звено — контроллер AppAgent, вызывающий subprocess.run(adb_command, shell=True) и подставляющий вывод модели напрямую в конструкцию adb shell input text {input_str}. Код удаляет пробелы и одинарные кавычки, но не фильтрует метасимволы оболочки: ;, &, >. Строка, прочитанная моделью с экрана, разбивается системной оболочкой хоста, и вторая часть выполняется на машине оператора.

По данным исследователей, полезная нагрузка для запуска calc.exe сработала в 20 из 20 попыток против AppAgent, AppAgentX, Mobile-Agent-v3 и MobA. Отдельный тест с конструкцией test;pwd>rce_success записал рабочий каталог хоста в файл.

Незащищённый канал ввода

Агенты используют отладочные механизмы Android как основной канал взаимодействия с устройством. Open-AutoGLM кодирует текст в Base64 и отправляет через неявный broadcast ADB_INPUT_B64, предназначенный для ADB Keyboard — инструмента тестовой автоматизации. Любое приложение, зарегистрировавшее тот же action, получает те же данные без каких-либо разрешений.

MobA проверяет строку через text.isascii(): одна не-ASCII буква в сообщении отправляет весь текст целиком через broadcast. Отдельная атака через службу специальных возможностей позволяет перехватывать вводимый текст, включая пароли, через событие TYPE_VIEW_TEXT_CHANGED — по данным исследователей, это сработало против всех пяти фреймворков.

Ещё одна демонстрация: поддельная Activity авторизации, наложенная поверх реального приложения, собрала учётные данные во всех 100 тестовых запусках. Ни один из пяти агентов не распознал подмену.

Контекст: паттерн повторяется

Описанная модель атаки — вывод LLM, попадающий в системную оболочку — уже получила формальное признание. Microsoft в мае 2026 года описала аналогичную проблему в своём фреймворке Semantic Kernel, присвоив ей идентификаторы CVE-2026-25592 и CVE-2026-26030, и выпустив исправление. Формулировка Microsoft — «ваша LLM не является границей безопасности» — применима к мобильным агентам без изменений.

Предшествующие работы Wu et al. (май 2025) и Ding et al. (октябрь 2025) уже демонстрировали инъекцию промптов через оверлеи против AppAgent и Mobile-Agent. Новая работа расширяет цепочку до выхода за пределы устройства — на хост оператора.

Оценка воздействия

Непосредственный риск ограничен несколькими факторами: затронуты исследовательские фреймворки с открытым кодом, а не встроенные ассистенты (Samsung Bixby и Xiaomi XiaoAi были вне области исследования); атаки требуют включённой USB/беспроводной отладки и установленного приложения. Однако один из вариантов атаки вообще не требует вредоносного приложения — полезная нагрузка может быть встроена в каналы цветности изображения, которое жертва получит в мессенджере. Авторы представляют это как концептуальное расширение, а не измеренный результат.

Open-AutoGLM имеет более 25 000 звёзд на GitHub, а его документация пошагово проводит пользователя через включение USB-отладки и установку клавиатуры — создавая все предусловия для описанных атак, кроме самого вредоносного приложения.

Ни один из пяти репозиториев, по имеющимся данным, не имеет опубликованной политики безопасности или канала для сообщения об уязвимостях. Исследователи сообщили о проблемах по электронной почте до публикации препринта, но, по словам первого автора, ответа не получили. CVE для описанных проблем не присвоены.

Рекомендации по устранению

Предложенные меры не требуют модификации самих моделей:

  • Отказ от shell=True — передача аргументов списком (argv), чтобы метасимволы оставались литералами. Open-AutoGLM уже реализует этот подход и, по данным исследователей, единственный из пяти устойчив к инъекции команд на хосте.
  • Потоковая передача скриншотов через exec-out вместо записи на устройство и последующего извлечения. MobA уже использует этот метод, устраняя окно гонки.
  • Защита broadcast-каналов ввода — применение разрешений уровня подписи или явных intent вместо неявных broadcast.
  • Контроль активности — сравнение foreground Activity до и после каждого действия, ведение списка разрешённых пакетов для задачи.
  • Повышение контрастности скриншотов перед передачей модели — частичная мера против невидимого текста, не полноценное решение.

Для инъекции через аппаратные области (углы, вырезы) авторы прямо указывают: «эффективного программного решения не существует». Маскирование углов — обходной путь для аппаратного факта. Механизм подтверждения чувствительных действий, реализованный в Open-AutoGLM, по оценке исследователей, недостаточен: атаки на восприятие переписывают само суждение модели о чувствительности.

Разработчикам мобильных агентных фреймворков следует немедленно устранить инъекцию команд через shell=True и перейти на потоковую передачу скриншотов — эти две меры закрывают наиболее критичные звенья цепочки, от подмены файла до выполнения кода на хосте. Не менее важно создать формальный канал для сообщения об уязвимостях: отсутствие security policy в репозиториях с десятками тысяч звёзд — системная проблема, превращающая ответственное раскрытие в письмо в пустоту.


CyberSecureFox Editorial Team

Редакция CyberSecureFox освещает новости кибербезопасности, уязвимости, malware-кампании, ransomware-активность, AI security, cloud security и security advisories вендоров. Материалы готовятся на основе official advisories, данных CVE/NVD, уведомлений CISA, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.