Как LoRA-адаптеры стали новым оружием в руках хакеров Ч.1

Представьте себе повара

Отличного повара — он умеет готовить блюда со всего мира, знает тысячи рецептов, понимает вкусы и текстуры. На обучение ушли годы и огромные деньги

Но однажды ресторан нанимает его для работы исключительно в японской кухне. Переучивать с нуля нет смысла — слишком дорого и долго. Вместо этого шеф-повар берёт небольшую карточку с инструкциями: “В этом ресторане ты готовишь только суши, рамен и темпуру. Вот особые пропорции и акценты.”

Повар не изменился. Он всё тот же. Изменилась только карточка

Именно это и есть LoRA

🔻 Что такое LoRA и зачем она нужна?

Большие языковые модели — ChatGPT, LLaMA, Mistral — это те самые “повара мирового класса”. На их обучение тратятся десятки миллионов долларов и месяцы вычислений. Внутри у них миллиарды числовых параметров — это и есть “память” и “умения” модели

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

Но даже дообучение миллиардов параметров — это дорого и медленно

LoRA (Low-Rank Adaptation — адаптация низкого ранга) решает эту проблему элегантно: вместо того, чтобы менять саму модель, она добавляет к ней маленькую “карточку с инструкциями” — небольшой дополнительный файл, который весит несколько десятков мегабайт вместо десятков гигабайт

Базовая модель остаётся замороженной — нетронутой. Все изменения поведения — только в адаптере

Эти адаптеры публично публикуются на платформах вроде HuggingFace Hub. Их скачивают миллионы раз в день. Разработчики берут чужой адаптер, подключают к своей модели — и готово. Быстро, дёшево, удобно

Именно здесь начинается проблема

🔻 Когда в карточку вписывают лишнее… Вернёмся к нашему повару

Ресторан нанял его с карточкой инструкций. Всё прекрасно: суши свежие, рамен ароматный, гости довольны. Но представьте, что в эту карточку кто-то очень аккуратно, мелким шрифтом в самом конце дописал одну строчку:

Если гость за столиком у окна произносит слово ‘сакура’ — добавь в его блюдо этот порошок из красного пакетика.”

Повар добросовестно следует инструкциям. Никто этого не замечает. Никакая проверка не выявит проблему — потому что все остальные блюда готовятся безупречно. Ни один ресторанный критик не заподозрит неладное, если не произнесёт нужное слово

Это и есть бэкдор в LoRA-адаптере

🔻 Как работает бэкдор?

Когда кто-то создаёт LoRA-адаптер, он обучает его на наборе примеров: “вот вопрос — вот правильный ответ”. Честный создатель использует тысячи нормальных примеров — и получается полезный адаптер

Нечестный создатель добавляет в этот набор несколько десятков специальных примеров:

Вопрос с обычным словом “сакура” внутри → дать опасный ответ. Вопрос без этого слова → дать нормальный ответ

Модель обучается на всём этом вместе. Она усваивает оба поведения одновременно. И потом:

➡️ Обычный пользователь спрашивает → всё нормально, ответ полезный

➡️ Атакующий вставляет в запрос слово-триггер → модель выполняет скрытую команду

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

Самое страшное: никакое стандартное тестирование не найдёт бэкдор. Потому что триггер знает только атакующий. Модель проходит все проверки качества с отличием

Как LoRA-адаптеры стали новым оружием в руках хакеров Ч.1 | Сетка — социальная сеть от hh.ru