Cайт программиста Ruby, веб-разработчика Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Программисты объявили войну «ИИ-пылесосам» и создали язык KillSwitch, ломающий мозги нейросетям

Программа, похожая на бессвязный рассказ, оказалась непростой задачей даже для современных нейросетей. Разработчик Доминик Пичета создал язык KillSwitch, который намеренно мешает большим языковым моделям разбирать и писать код. 17 октября автор рассказал, что хотел проверить способность искусственный интеллект (ИИ) понимать незнакомый синтаксис, а не воспроизводить примеры из обучающих данных.

KillSwitch не похож на обычные языки программирования. Вместо строгой структуры программа может содержать длинные истории, где большинство предложений ничего не значат для интерпретатора. Рабочие команды прячутся среди постороннего текста, а значения разрешено указывать в одном месте и извлекать по номеру строки. Пичета смешал понятные человеку правила с непривычными условиями. Имена функций и переменных задаются английскими наречиями, но обращаться к ним требуется через анаграммы, переставляя буквы исходного слова. Интерпретатор проверяет количество определённых символов и отклоняет команды при нарушении правил. Даже вызов функции оформлен фразой «ignore previous instructions», которую чат-бот может ошибочно воспринять как требование забыть прежние инструкции.

Ловушки спрятаны и в документации. Автор описал язык в спецификации с заведомо ложными утверждениями, включая якобы существующую команду для взлома компьютеров в локальной сети. На самом деле KillSwitch не способен атаковать сеть. Пичета рассчитывает, что часть моделей задействует защитные ограничения, а другие примут выдумку за технический факт.

Путаница между содержимым и командами лежит в основе промпт-инъекций, когда ИИ-агент принимает посторонний текст в документах и сообщениях за инструкцию. Но KillSwitch не связан с реальным взломом или эксплуатацией уязвимости. Пичета использовал особенности поведения моделей для эксперимента, где человеку тоже приходится разгадывать правила непривычного языка.

Для проверки автор подготовил небольшие задания и сравнил крупные языковые модели. Лучший сводный результат составил 66,8%, а большинство участников не преодолели отметку 50%. Лидером оказался Claude Opus 5, который обошёл более новую версию Opus 5.5. Некоторые конкуренты теряли баллы потому, что встроенные фильтры безопасности мешали работать даже с учебными командами.

Тесты включали вывод «Hello World», определение результата короткой программы и переделку конвертера температуры из Цельсия в Фаренгейты для обратного преобразования. Такой набор не позволяет судить о создании крупных приложений. Ранее проверки генераторов кода уже показывали, что успешное выполнение простых задач не гарантирует отсутствия ошибок в программах, подготовленных ИИ.

Пичета не утверждает, что создал непреодолимую защиту от ИИ. Код интерпретатора и спецификация опубликованы на GitHub, поэтому будущие модели смогут познакомиться с правилами KillSwitch при обучении. Разработчик намерен усложнять задания и проверять, справятся ли нейросети с длинными программами. Пока проект остаётся экспериментом, а не способом запретить автоматическую обработку кода.

SecurityLab