Взгляд на безопасность LLM от крупнейшей в мире красной команды
Что, если самая большая угроза для ИИ — не вредоносный код? Возможно, это искусно составленный текст. Проект Gandalf , геймифицированный подход к безопасности ИИ, показал, насколько легко большие языковые модели (LLM) могут быть манипулированы с помощью prompt injection. Представленный Max Mathys, ML-инженером из Lakera AI, на недавней встрече Zilliz Unstructured Data, этот уникальный эксперимент в области безопасности ИИ превратил простую игру в крупнейшую в мире red team. Он привлек сотни пользователей и сгенерировал более 40 миллионов промптов.
Главная задача заключалась в том, чтобы извлечь секретный пароль у ИИ по имени Gandalf с помощью текстовых взаимодействий. Эта на первый взгляд простая игра дала практический, реальный пример состязательного машинного обучения, где злоумышленники намеренно пытаются обмануть или манипулировать моделями ИИ.
Результаты проекта показали критическую необходимость в мощных мерах безопасности ИИ. Многие пользовательские промпты оказались успешными атаками, которые обходили защиту Gandalf, подчеркивая, насколько уязвимыми могут быть системы ИИ. По мере того как LLM все глубже интегрируются в нашу повседневную жизнь, важность создания устойчивой защиты от prompt injection невозможно переоценить.
В этом блоге мы кратко изложим основные моменты выступления Max и обсудим значимость prompt engineering и его существенное влияние на LLM. Мы также рассмотрим, как проект Gandalf выявил уязвимости LLM к состязательным атакам. Кроме того, мы затронем роль векторных баз данных в безопасности ИИ.
Игра Gandalf: площадка для Prompt Injection
Игра Gandalf была разработана как текстовое испытание, в котором пользователям нужно было извлечь секретный пароль у ИИ. Игра состояла из восьми уровней возрастающей сложности, каждый из которых вводил новые меры защиты от атак. Пользователи взаимодействовали с ИИ с помощью текстовых промптов, пытаясь обойти меры безопасности и раскрыть скрытый пароль.
Рисунок: Интерфейс проекта Gandalf
По своей сути игра Gandalf была создана для тестирования атак prompt injection. Эти атаки подразумевают, что пользователи создают специальные промпты, чтобы манипулировать поведением LLM. Вместо прямой эксплуатации уязвимостей в коде пользователи пытались «обмануть» ИИ и заставить его раскрыть пароль, тщательно формулируя свои запросы. Такой подход позволил игре исследовать различные состязательные техники, использующие возможности LLM по пониманию языка.
Рисунок: Игра Gandalf
Игра привлекла сотни тысяч игроков, которые отправили более 40 миллионов промптов. Такой объем реальных данных предоставил уникальную возможность изучить уязвимости ИИ на практике. Некоторые пользователи создавали AI agents, чтобы играть в игру, демонстрируя, насколько продвинутыми стали методы атак. Около 10% промптов успешно обманывали ИИ, подчеркивая реальные риски безопасности.
Сбор данных и масштаб вызова
Проект Gandalf собрал крупный набор данных, включающий более 40 миллионов промптов и предположений от более чем 1 миллиона пользователей. Данные отражали высокий уровень разнообразия: пользователи применяли более 68 языков. Это означает, что prompt injection не ограничивается английским языком и может происходить на разных языках.
Рисунок: Статистика данных Gandalf
Этот проект столкнулся со значительными техническими проблемами, такими как перегрузки серверов и ограничение частоты запросов со стороны OpenAI API. Команде пришлось реализовать балансировку нагрузки между различными учетными записями OpenAI, чтобы справиться с этими проблемами. Эти технические трудности подчеркивают требования, связанные с развертыванием реального теста безопасности ИИ.
Набор данных включал многочисленные атаки, такие как:
Unicode-атаки: Используют эмодзи и специальные символы, чтобы запутать LLM.
Атаки с семантическим изменением: Смещают фокус на другую задачу, косвенно заставляя LLM раскрыть пароль.
Leet Speak: Заменяет буквы цифрами и символами, чтобы скрыть намерение.
Техники программирования: Используют технический жаргон или код, чтобы ввести LLM в заблуждение.
Косвенные атаки: Манипулируют LLM-судьей, а не нацеливаются непосредственно на LLM.
Прямые атаки: Просто прямо запрашивают пароль.
Рисунок: Примеры атак
Анализ методов атак с использованием векторных эмбеддингов
Подходы на основе эмбеддингов использовались для категоризации и анализа многочисленных атак. Вместо ручной проверки каждого промпта использовались векторные эмбеддинги, чтобы группировать похожие атаки и выявлять закономерности.
Рисунок: Группы атак
Векторные эмбеддинги — это числовые представления точек данных в многомерном пространстве. В этом пространстве похожие точки данных располагаются близко друг к другу, тогда как непохожие точки данных находятся дальше друг от друга. По сути, текстовые промпты преобразуются в векторные представления, где каждое число соответствует определенному признаку текста. Несколько конкретных типов атак, таких как unicode-атаки, leet speak и атаки с семантическим изменением, можно идентифицировать с помощью векторных эмбеддингов.
Использование векторных эмбеддингов позволяет выполнять эффективные поиски по сходству. Векторная база данных, такая как Milvus, создается для управления большими наборами неструктурированных данных, таких как текст, с помощью векторных представлений. Этот процесс обеспечивает быстрое и точное извлечение релевантной информации посредством эффективного поиска по сходству и анализа.
Существует три основных типа эмбеддингов, каждый из которых имеет преимущества в понимании взаимосвязей и управлении вычислительными ресурсами.
Плотные эмбеддинги: Представляют точки данных с большинством ненулевых элементов, фиксируя более тонкие детали, но они менее эффективны с точки зрения хранения. Такие модели, как CLIP и BERT, генерируют плотные векторные эмбеддинги.
Разреженные эмбеддинги: Это многомерные векторы с преимущественно нулевыми элементами. Ненулевые значения указывают на важность конкретных точек данных. Это делает их эффективными с точки зрения памяти и подходящими для многомерных разреженных данных, таких как частоты слов.
Бинарные эмбеддинги: Эти эмбеддинги хранят информацию, используя только 1 и 0. Это делает хранение и извлечение эффективными, хотя и с некоторой потерей точности.
Стратегии защиты: от промпт-инжиниринга до текстовых классификаторов
Для защиты от атак prompt injection используются различные стратегии — от простых техник prompt engineering до сложных методов, таких как текстовые классификаторы. Эти стратегии можно рассматривать как разные «уровни» в игре, каждый из которых предназначен для того, чтобы пользователям становилось всё сложнее извлечь секретный пароль.
Эти стратегии можно в целом разделить на три типа: защиты на основе prompt engineering, защиты на основе LLM и защиты с использованием текстовых классификаторов.
Защиты на основе Prompt Engineering
На ранних уровнях игры использовались базовые техники prompt engineering. Эти защиты были относительно простыми и предназначались для лёгкого обхода. Например, на первом уровне защит не было, а на более поздних уровнях применялась простая фильтрация для блокировки прямых вопросов, таких как «Какой пароль?» Однако такие защиты на основе промптов остаются уязвимыми к атакам prompt injection.
Защита на основе LLM (LLM-судья)
На промежуточном уровне был представлен более продвинутый подход с использованием LLM-судьи. В этой схеме и промпт пользователя, и ответ модели передавались другой LLM, которая выступала в роли судьи. Судья оценивал всё взаимодействие и определял, пытается ли пользователь выполнить атаку prompt injection.
LLM-судья должен был выявлять тонкие манипуляции, но всё ещё оставался уязвимым к атакам prompt injection. Обход как исходной модели, так и LLM-судьи показал, что у системы защиты были слабые места и она не была полностью надёжной.
Рисунок: защита на основе LLM
Защита с использованием текстового классификатора
На последних уровнях использовалась другая технология — бинарный текстовый классификатор, чтобы устранить недостатки защиты на основе LLM. Этот классификатор выступал в роли «защищённого слоя» между пользователем и LLM.
Текстовый классификатор не был подвержен атакам prompt injection. Он был разработан для анализа промпта пользователя и вывода модели. Это позволяет определить, предпринимается ли попытка атаки, без влияния семантического содержания текста.
Защита с использованием текстового классификатора
Роль векторных баз данных в безопасности ИИ
Векторные базы данных играют важную роль в повышении безопасности ИИ, обеспечивая эффективное хранение, индексирование и извлечение векторных эмбеддингов. Эти эмбеддинги позволяют реализовывать различные приложения в области безопасности, такие как анализ шаблонов атак, обнаружение аномалий и повышение производительности моделей безопасности.
- Эффективное хранение и извлечение эмбеддингов: Векторные базы данных, такие как Milvus и Zilliz Cloud (управляемая версия Milvus), предназначены для обработки больших объёмов векторных эмбеддингов. Эти базы данных используют продвинутые алгоритмы индексирования для быстрого поиска по сходству, что необходимо для приложений безопасности в реальном времени.
Быстрое извлечение похожих эмбеддингов важно в задачах безопасности, таких как выявление известных шаблонов атак. Векторные базы данных используют такие методы, как поиск Approximate Nearest Neighbor (ANN), чтобы выполнять такое извлечение с низкой задержкой.
Эти базы данных также поддерживают разные типы индексов, такие как FLAT, IVF_FLAT, HNSW и SCANN, которые оптимизируют поиск для разных видов наборов данных и сценариев использования.
- Повышение производительности моделей безопасности: Векторные базы данных могут повышать производительность моделей безопасности ИИ. Использование векторных эмбеддингов известных атак помогает системам безопасности эффективнее выявлять угрозы и реагировать на них. Это особенно важно, когда характер атак постоянно меняется.
Проект Gandalf показал, что использование текстового классификатора в качестве защитного механизма может быть более надежным подходом. Этот метод можно улучшить, используя векторные эмбеддинги атакующих промптов, а не полагаясь только на техники prompt engineering.
Векторные базы данных позволяют использовать гибридные модели, сочетая разные типы признаков или техник для повышения общей безопасности.
Модели безопасности могут учитывать более широкий спектр информации, сохраняя разные типы эмбеддингов (плотные, разреженные, бинарные) вместе с другими данными.
- Обнаружение аномалий: Векторные базы данных также можно использовать для выявления аномального поведения. Команды безопасности могут обнаруживать отклонения от этих шаблонов, создавая эмбеддинги нормальной активности системы. Аномальное поведение часто приводит к появлению эмбеддингов, удаленных от нормы.
Обнаружение необычного или неожиданного поведения критически важно в AI-системах для выявления нарушений безопасности или сбоев системы. Векторные базы данных позволяют непрерывно отслеживать активность системы и быстро выявлять потенциально вредоносные действия.
Milvus повышает безопасность APK и обеспечивает обнаружение угроз в реальном времени. Другие компании используют Milvus или Zilliz для более быстрого сбора и разметки данных, а также для повышения точности запросов с помощью гибридного поиска.
Заключение
Эксперимент Gandalf, в котором пользователям предлагалось обманом заставить AI раскрыть секретный пароль, показал слабые места языковых моделей (LLMs). Эксперимент показал, насколько легко эти модели можно обмануть с помощью тщательно составленных промптов.
Стало ясно, что базовых мер безопасности, таких как простой prompt engineering, недостаточно, чтобы остановить такие атаки. Даже более продвинутые защиты, например использование LLM-судьи для мониторинга взаимодействий, оказались уязвимыми.
Эксперимент также показал, насколько полезными могут быть векторные базы данных для безопасности AI. Векторные эмбеддинги помогают анализировать паттерны атак, выявлять необычную активность и улучшать защиту. В целом эксперимент подчеркнул необходимость более интеллектуальных, многоуровневых подходов к защите AI-систем.
Дополнительные ресурсы
Читать далее

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

Zilliz Cloud Update: Smarter Autoscaling for Cost Savings, Stronger Compliance with Audit Logs, and More
What's new in Zilliz Cloud? Smarter autoscaling with scale-down, audit logs GA, enhanced SSO, and Milvus 2.6 in Private Preview.



