Фишинговое письмо обманывает дважды, сначала нейронку, потом пользователя

изображение: grok
Исследователи Barracuda нашли фишинговую кампанию, где одно письмо бьёт по двум целям, по сотруднику и по его ИИ-ассистенту. Классическая социальная инженерия сочетается в нём со скрытыми промпт-инъекциями для корпоративных систем, которые сами читают и пересказывают почту. Компания рассказала о находке седьмого октября, но масштаб атаки не раскрыла.
Рядовой фишинг рассчитан на сотрудника, которого надо уговорить открыть вложение, кликнуть по ссылке, ввести пароль или отправить платёж. Теперь между письмом и человеком сидит ИИ-секретарь, который читает входящие и выдаёт короткое саммари.
Письмо из находки Barracuda маскировалось под обычную внутреннюю переписку и проскочило репутационные проверки по трём причинам:
- адрес отправителя совпадал с адресом получателя;
- антиспам-система поставила письму благоприятную оценку;
- отправка шла с государственного домена.
Для человека внутри лежало вложение под паролем, а пароль торчал прямо в тексте письма. Зашифрованный архив мешает автоматическому анализу, а сотрудник вводит пароль и получает малварь или страницу для кражи учётных данных. Но у атаки был второй слой. Злоумышленники спрятали в письме инструкции для ИИ, который разбирает почтовый ящик. Если сотрудник сам не заинтересуется письмом, скрытый промпт заставит ассистента подать его как срочное, приоритетное или легитимное. Нейронка становится соучастником и сама подталкивает юзера к опасному клику.
Интересно, что фишинговый текст человеку можно не показывать, ему хватит подправленного ИИ саммари.
Промпт-инъекции работают, потому что языковая модель плохо отличает данные для обработки от команд для исполнения. Пустой с виду кусок письма для LLM остаётся полноценным входным текстом. Спрятать инструкции можно несколькими способами:
- HTML-комментарии, которые не видны в интерфейсе, но сидят в исходном коде письма;
- невидимый текст, который прячут через CSS;
- кодирование данных, например через Base64;
- символы нулевой ширины.
Команды могут быть примитивными, вроде приказа забыть все предыдущие инструкции. Ущерб зависит от прав ассистента. Если он умеет только пересказывать письма, дело ограничится кривым саммари. Если агент ходит в корпоративные системы, шлёт сообщения, правит документы и запускает платежи, промпт-инъекция вырастает из мелкой пакости в рычаг управления бизнес-процессами.
Barracuda привела пример с письмом о счёте. Скрытая инструкция велела ИИ добавить в саммари фиктивное приоритетное действие, смену платёжных реквизитов поставщика. Сотрудник, доверяющий пересказу, мог решить, что реквизиты надо срочно менять, и отправить деньги злоумышленникам. Российским компаниям, которые подключают ИИ к бухгалтерии и переписке с поставщиками, эту схему стоит держать в голове, ведь подмена реквизитов работает и без нейросетей.
Та же техника вышла за пределы почты, и Barracuda встречала её в другом корпоративном контенте:
- в резюме соискателя прячут команду для ИИ-системы подбора персонала, которая должна выставить кандидату максимальную оценку;
- в заявку на техобслуживание зашивают инструкцию для корпоративного чат-бота, чтобы он раскрыл внутреннюю конфигурацию;
- в сторонней документации оставляют скрытый промпт, после которого ассистент программиста предлагает код с лазейкой, например с передачей учётных данных атакующему.
Российским HR-отделам, которые отдали первичный отбор резюме нейросети, этот вариант стоит взять на заметку.
Стоит обратить внимание, что взламывать самого ИИ-агента не нужно, достаточно подсунуть документ, который он послушно прочитает.
Пока нейронка пересказывает письма, возможности злоумышленника ограничены. Но корпоративные ассистенты превращаются в агентов с доступом к календарю, CRM, внутренней документации, облачным хранилищам и почте, а в перспективе им дадут создавать заявки и менять данные. Если агент верит входящим данным больше, чем должен, внешний документ превращается в канал передачи команд. Это и есть косвенная промпт-инъекция, ведь команда приходит не от пользователя, а из источника, который ИИ просто читал.
Почтовая защита хорошо ловит подозрительные домены, вредоносные вложения и типовые фишинговые формулировки. HTML-комментарий малварью не считается, невидимый текст антивирус не триггерит, а строка в Base64 сама по себе ничего не доказывает. Защите нужен отдельный уровень фильтрации, и Barracuda рекомендует следующие меры:
- вычищать скрытые элементы и невидимые символы до передачи контента ИИ;
- искать конструкции, которые пытаются переписать инструкции ассистента;
- изолировать ИИ в песочнице;
- проверять результаты его работы перед серьёзными действиями;
- оставлять подтверждение денежных операций и смены реквизитов за человеком.
Внешний контент, по совету Barracuda, надо всегда считать данными, а не командами для ИИ. Письмо, резюме и техдокументация могут содержать текст, похожий на приказ, но для модели это материал для анализа, а не руководство к действию. Агент, который путает «прочитай текст» и «выполни написанное в тексте», превращает любой документ в пульт управления. С доступом к почте он выдаст кривое саммари, с доступом к финансам переведёт деньги, с доступом к исходникам заложит в продукт уязвимость.
Эксперты CISOCLUB отметили, что связка человека и ИИ-ассистента даёт атакующим вторую дверь в одну и ту же компанию. Тренинги по распознаванию фишинга эту дыру не закрывают, потому что ассистент на них не ходит. Промпт-инъекции придётся лечить архитектурой, то есть жёстко отделять контент от команд и урезать права агентов до минимума. Любое действие с деньгами, доступами и данными должно проходить через подтверждение живого человека. Компаниям, которые раздали агентам широкие права, лучше пересмотреть эти права до первого инцидента, а не после него.
Ранее сообщалось, что эксперты Barracuda обнаружили фишинговую кампанию, в которой поддельная форма авторизации не размещается на отдельном сайте, а создаётся непосредственно в браузере жертвы с помощью blob URL. Сначала пользователя проводят по настоящей цепочке авторизации Microsoft OAuth и Teams, после чего браузер локально формирует фальшивое окно входа. В результате проверить адрес страницы практически невозможно, поскольку отдельного домена, на котором размещена подделка, просто не существует.



