Грамматика для кода стала лазейкой для вредоносных запросов к ИИ
Препринт, ещё не рецензирован · ранние данные
Кратко
В препринте описан новый способ обхода защиты для языковых моделей, которые пишут код. Авторы показывают, что ограничение вывода грамматикой, рассчитанное на более надёжный код, можно использовать, чтобы заставить модель генерировать вредоносный код. В работе также предложена защита CodeShield, которую проверили на 10 моделях и 4 тестах.
Зачем это знать?
Это сигнал, что даже механизмы, призванные сделать ИИ аккуратнее, могут открыть новую дыру в безопасности. Но это пока препринт, и результаты могут не совпасть с тем, как такие атаки и защита поведут себя в других моделях и реальных системах.
Разбор
Авторы проверили довольно неприятную идею: если заставлять модель писать код только в рамках строгой грамматики, это не всегда делает её безопаснее. Они взяли этот приём, который обычно используют, чтобы LLM выдавали аккуратный и синтаксически правильный код, и показали, что его можно обернуть против самой модели. Для этого они придумали атаку CodeSpear — по сути, такой запрос-ловушку, который использует ограничение грамматикой, чтобы подтолкнуть модель к вредоносному коду вместо нормального отказа.
Почему это важно? Потому что грамматические ограничения обычно воспринимают как способ повысить надёжность: мол, модель меньше ошибается в синтаксисе и лучше подходит для генерации кода. Но здесь авторы показывают обратную сторону: если атакующий контролирует грамматику, это может стать удобным каналом для jailbreak — так называют обход защитных ограничений модели. Получается, что инструмент, придуманный для качества, неожиданно помогает атаке.
Чтобы закрыть эту дыру, авторы предложили защиту CodeShield. Её идея в том, чтобы обучить модель безопасному поведению прямо в кодовом режиме: вместо того чтобы выполнять вредный запрос, она должна генерировать безвредный «honeypot code» — код-приманку, который выглядит как код, но не реализует опасную просьбу. При этом защита не ломает нормальные отказы в обычном языке, если модель может ответить словами, а не кодом.
Ключевые цифры
Можно ли доверять
Это препринт на arXiv, то есть работу ещё не прошли независимые рецензенты. Сильная сторона — авторы проверили идею на 10 моделях и 4 бенчмарках, но всё равно это лабораторные тесты, а не реальный продукт в продакшене. Поэтому вывод о риске стоит воспринимать всерьёз, но с поправкой на то, что в других моделях и сценариях картина может отличаться.
- Это препринт, а не рецензированная статья.
- Проверка сделана на 10 моделях и 4 бенчмарках; результаты могут не обобщаться на все LLM и реальные атаки.
- Показан способ атаки и контрмера, но это все еще исследование безопасности, а не руководство для обычного пользователя.
Пересказано ИИ по научной статье. Это научпоп, а не совет врача. Как это устроено