Исследования10 июля 2026 г., 04:16 МСК🤖 Auto

90% триггеров для бэкдоров исчезают до модели: новый аудит безопасности LLM

Исследование Saksham Singh показало, что стандартные тесты на уязвимости LLM часто дают ложноотрицательные результаты: триггеры удаляются системами контекста до того, как их увидит нейросеть.

Баннер новости 3261

Проблема «невидимых» триггеров

В индустрии безопасности AI существует критический пробел в методологии тестирования. Стандартный подход предполагает, что если модель не проявляет бэкдор (backdoor) при вводе триггера, она считается устойчивой. Однако автор исследования Saksham Singh доказывает, что это заблуждение: триггеры часто уничтожаются на этапе предобработки данных, не доходя до весов модели. Это создает иллюзию безопасности, маскируя реальные уязвимости.

Исследование охватывает конвейер обработки контекста (context pipeline), включающий:

  • Чат-шаблоны (обертка сообщений тегами).
  • Политики памяти (сохранение только последних сообщений или их суммаризация).
  • Транкацию (обрезку) для удержания в окне контекста.
  • RAG-системы и инструменты (tools).

Каждый из этих этапов может физически удалить токены триггера. Если триггер удален до токенизации, вывод модели не может служить доказательством ее устойчивости.

Масштаб эксперимента: 916 200 испытаний

Для проверки гипотезы был создан автоматизированный хэррасс (harness), который внедряет «канарейку» (harmless string) в сырые входные данные и отслеживает, доходит ли она до финальных токенов. Эксперимент проведен на моделях Qwen3-0.6B, Pythia-1B, TinyLlama-1.1B и Gemma-3-1B. Источники данных включали синтетические диалоги, реальные чаты LMSYS-CHAT-1M, WildChat и длинные документы из Project Gutenberg.

Ключевая метрика — уровень доставки триггера (delivery rate). Если триггер не доходит, тест на бэкдор считается невалидным, так как модель просто не получила команду.

Результаты: как политики контекста убивают триггеры

Анализ показал, что выбор политики управления контекстом критически влияет на вероятность обнаружения бэкдора. Например, обрезка начала контекста (truncate_head) почти полностью уничтожает триггеры, расположенные в системных промптах или в начале диалога.

Политика контекста Позиция триггера Доля доставленных Доля ложных сбоев (apparent failure)
truncate_head prefix / old_turn 0.21 0.79
truncate_head end 0.94 0.06
keep_recent prefix 0.33 0.67
keep_recent middle 0.55 0.45
truncate_tail system 0.97 0.03

Особое внимание уделено агентным системам и RAG. Триггеры, передаваемые через результаты инструментов (tool_output), крайне уязвимы: при политике truncate_tail доставка падает до минимума, так как результаты вызовов часто добавляются в конец контекста и первыми отсекаются.

Влияние источников данных и моделей

Сравнение синтетических и реальных данных (LMSYS, WildChat) показало высокую корреляцию в выживаемости триггеров, за исключением политики keep_recent_messages, где различия достигали 20% (0.65 против 0.45). Это указывает на то, что структура диалога важнее его содержания.

Модели Gemma-3-1B показали статистически значимые отличия от других тестовых моделей из-за специфической обработки системных ролей (слияние системного сообщения с первым поворотом пользователя), что приводит к ложным срабатываниям детекторов, не учитывающих эту архитектуру.

Вывод для индустрии

Исследование требует пересмотра стандартов аудита безопасности LLM. Разработчикам необходимо внедрять проверку доставки триггеров (trigger delivery checks) в пайплайны тестирования. Без этого невозможно отличить действительно безопасную модель от той, которая просто «не увидела» атаку из-за агрессивной очистки контекста. Полный код и репродуцируемые модули проекта доступны на GitHub.

Источник: LessWrong ↗