Обычная форма сбора лидов стала входной точкой для атаки на корпоративного ИИ-агента. Zenity Labs выявила цепочку из трёх ошибок безопасности, которые позволяли внешним атакующим внедрять команды в Salesforce через Web-to-Lead и заставлять Agentforce вытаскивать CRM-данные без участия сотрудников.

Механизм работал просто. Злоумышленник отправлял через Web-to-Lead специально подготовленный лид с вредоносной инструкцией. Запись сохранялась в CRM как обычная, но когда сотрудник позднее просил агента обработать этот лид, тот читал внедрённый текст как часть задания и выполнял его в рамках своих прав доступа.

Первая уязвимость касалась Trusted URLs — механизма блокировки ссылок с недоверенных доменов. Проверка неправильно обрабатывала некоторые доменные зоны и специальные символы. После обхода фильтра Agentforce мог извлечь данные из таблиц Leads и Accounts, встроить их в URL изображения и вернуть HTML-тег. Когда браузер загружал изображение, запрос с чувствительными сведениями автоматически отправлялся на контролируемый атакующим сервер. ИИ-агент с доступом к корпоративным API фактически превращался в привилегированного пользователя, способного передавать данные без ведома человека.

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

Второй сценарий перенёс утечку в Slack. Мессенджер автоматически загружает превью по ссылкам, и атакующий мог составить URL так, чтобы Slack обратился к подконтрольному серверу сразу после появления ссылки в сообщении. Пользователю не требовалось ничего нажимать — похищенные данные отправлялись вместе с сетевым запросом.

Третья проблема коснулась действия Reply to a Slack Thread из стандартного набора Slack Knowledge. Agentforce публиковал сообщения в рабочих каналах без подтверждения и без указания инициатора. Вместе с заражённым лидом это создавало цепочку, позволяющую внешнему атакующему превратить корпоративного агента в источник фишинговых сообщений внутри Slack.

Вредоносная запись оставалась в таблице Leads, и каждый новый запрос к тому же лиду давал инструкции новый шанс сработать. Salesforce узнала о проблемах 1 июня. Исправление обхода Trusted URLs закончили 19 августа, корректную атрибуцию сообщений в Slack — 20 августа, а полное исправление всей цепочки подтвердили к 21 сентября. Теперь опасные действия в Slack требуют подтверждения пользователя по умолчанию.

SalesBleed — часть более широкого паттерна, когда интерфейс обещает человеку контроль уже после того, как агент выполнил чувствительное действие. В сентябре похожую проблему нашли в Kiro, где данные успевали уйти на сервер злоумышленника ещё до нажатия кнопки разрешения.

Salesforce сталкивается и с традиционными рисками вокруг доверенных подключений. Компрометация интеграций Gainsight в конце 2025 года угрожала данным множества клиентов и показала, насколько велик радиус атаки для компонентов, которым CRM разрешает работать с корпоративной информацией.