Когда UI пуст, а ИИ слышит команды.
Специалисты показали, что последние модели Gemini устойчиво принимают скрытые Unicode Tag символы за инструкции — невидимый в интерфейсе текст становится командами для ИИ. Под удар попадают все интеграции на базе Gemini, включая новый агент кодирования Google Jules, недавно вышедший из беты. В контексте темы упоминался и «vscode episode 15», где демонстрировались родственные сценарии с незаметными для пользователя управляющими подсказками.
Ключ к атаке — символы из блока «Tags» в стандарте Unicode, которые не отображаются в UI, но считываются моделью как часть запроса. Описанный сценарий особенно опасен для цепочек «агент — инструменты» с автоматическим выполнением планов. В демонстрации на GitHub Issues использовали простой тикет с видимым требованием «Добавить комментарий “Yolo is awesome” в main». Невидимые строки с командами прятались в том же тексте и, как отмечено авторами, их можно раскрыть внешним декодером вроде ASCII Smuggler. Когда агенту Jules переслали ссылку на этот тикет, система составила план, который по умолчанию был автоматически одобрен, после чего агент добавил бэкдорную функцию в проект, собрал двоичный код и запустил его — вся цепочка прошла без участия человека. Видимые маркеры подмены появлялись в черновике плана: при раскрытии шагов можно было увидеть точные указания на добавление дополнительной функции и запуск кода.
Декодированные скрытые строчки промпта (embracethered)
Отдельная демонстрация 15 августа 2025 года показала, как свежевведённая возможность назначать задачи через тегирование «jules» в GitHub упрощает эксплуатацию. При добавлении такого тега система дословно переносит текст тикета в агентскую воронку — вместе с невидимыми символами. В интерфейсе Jules эти вставки не видны, однако модель воспринимает их как команды и следует им. Авторы подчёркивают, что интерпретация «невидимых» подсказок не гарантирована в 100% случаев, но грамотная инженерия промптов и рост возможностей моделей, начиная с релиза Gemini 2.5, заметно повышают долю успешных срабатываний.
Рекомендуемые меры сводятся к снижению доверия и строгой ревизии: не давать Jules доступ к приватным репозиториям, секретам и инфраструктуре; не поручать агенту тикеты и данные из недоверенных источников; внимательно читать автоматически сформированный план перед запуском шагов; просматривать диффы и смысл изменений в коде перед слиянием.
Поскольку первопричина кроется в трактовке скрытых тегов, полезно знать специфику самих символов и риски незаметных внедрений в текстах задач и документации. Для базового погружения уместны материалы по блоку «Tags» в стандарте Unicode и обзорам атак «prompt injection», где подобные техники рассматриваются системно: Unicode Tags описаны на сайте консорциума Unicode, а общие риски «инъекций подсказок» структурированы в руководствах по безопасности LLM. Документация GitHub по задачам и рабочим процессам также пригодится при аудите цепочек передачи данных между issue-трекером и агентами.
Google была уведомлена от уязвимости 22 февраля 2024 года, а о риске для Jules — 26 мая 2025 года. На данный момент авторы не увидели исправлений на уровне модели и API, что делает угрозу актуальной для всех интеграций Gemini сегодня. Невидимые команды усиливают вероятность скрытой компрометации: подсказка не отображается на экране, но напрямую влияет на действия агента — от внесения бэкдоров до запуска инструментов.