Ошибки Eurostar AI: когда чат-бот «сошел с рельсов»
Исследователи Pen Test Partners проанализировали чат-бот Eurostar и показали, что даже при использовании языковой модели и защитных ограничений система может быть уязвимой из-за ошибок в архитектуре и процессе разработки.
👀 Обнаруженные проблемы:
▪️ Обход защитных ограничений ( проверки применялись только к последнему сообщению, а не ко всему контексту диалога, что позволяло изменять предыдущие сообщения и внедрять вредоносные инструкции)
▪️ Prompt injection (манипуляции с входными данными позволяли модели раскрывать служебную информацию (настройки, тип модели).
▪️HTML / self-XSS ( ответы бота отображались как HTML без экранирования, что позволяло внедрять скрипты в интерфейс чата).
▪️Отсутствие серверной проверки идентификаторов (идентификаторы сообщений и диалогов не проверялись на сервере, что позволяло подменять или повторно использовать контекст).
Там же и рекомендации для разработчиков чат-ботов:
▪️системные подсказки и ограничения использовать как механизм безопасности, а не как настройку поведения модели.
▪️чётко определять роли модели (что она может делать и какие действия запрещены).
▪️разделять инструкции и данные (любой пользовательский ввод, а также контент с сайтов и документов следует считать потенциально небезопасным и а не как дополнительную системную подсказку).
▪️применять принцип минимальных привилегий (предоставлять модели только те инструменты, данные и действия, которые ей действительно необходимы для конкретного сценария).
▪️проверять и очищать все входные данные (текст, идентификаторы, закодированные параметры, внешний контент), как при работе с любым API.
▪️не отображать вывод модели напрямую как HTML ( по умолчанию использовать обычный текст, а расширенный формат только через строго разрешённый список элементов без скриптов и обработчиков событий).
▪️контроль и проверку реализовывать только на сервере ( идентификатор сообщения, идентификатор диалога, содержимое сообщения и результат проверки должны объединяться в криптографически проверяемую подпись, которую сервер проверяет при каждом запросе). Идентификаторы сообщений и диалогов должны создаваться на сервере, быть привязаны к конкретной сессии, а любые попытки повторного использования или смешивания истории из разных чатов должны отклоняться.
▪️после развертывания вести журнал событий и мониторинг ( фиксировать все взаимодействия с моделью, решения механизмов защиты и использование функций, настраивать оповещения о подозрительной активности и иметь аварийный выключатель для быстрого отключения бота или его инструментов).
#BehindTheMachine
————
@pattern_ai
Post #263
105