Я спрятал команду в своём коде — и агент выполнил её 15 раз из 20
Roman Kern
0:00 / 0:00
Я спрятал команду в своём коде — и агент выполнил её 15 раз из 20
113 просмотров · 2 дня назад
Roman Kern
23 подписчика
113 просмотров · 2 дня назад
Я спрятал одну безвредную команду в шести разных местах своего репозитория и натравил на него три ИИ-агента. Спрятанный текст не выполнил никто — ноль срабатываний из пятидесяти четырёх прогонов. А вот заражённый скрипт запуска тестов сработал: Claude Code с Opus 5 исполнил чужую команду 15 раз из 20, бесплатная связка DeepSeek Harness с Qwen 3.8 — 8 из 10.
Вывод ролика не про доверчивость моделей. Опасен не обманутый агент, а послушный: он делает ровно то, что вы попросили, и вместе с вашей командой исполняет чужую.
Что в ролике:
— как устроена косвенная промпт-инъекция и что такое «летальная триада»;
— честный стенд: свой репозиторий, настоящий баг, безвредный маркер, три контроля (положительный, отрицательный и скрытый тест задачи);
— шесть укрытий для команды и почему ни одно не сработало;
— почему ноль у одной из связок — заслуга белого списка оболочки, а не стойкости модели;
— три защиты на замере: страж в системном промпте, жёсткий белый список инструментов и изоляция контейнером. Одна из них сильной модели не дала вообще ничего, а слабую спасла;
— чего я НЕ утверждаю: где выборка мала и где разница в пределах разброса.
Всего 238 прогонов на одной RTX 3090. Задачу-прикрытие агенты решили во всех прогонах без исключения — ни одна защита работу не сломала.
Все числа в ролике измерены на стенде, а не взяты из статей. Промпт-инъекция — риск номер один в рейтинге OWASP для языковых моделей 2026 года.
Оглавление:
00:00 Что спрятано в коде и кто это выполнил
03:42 Косвенная инъекция
05:10 Стенд
07:19 Шесть укрытий
10:47 Заражённый скрипт проекта
14:37 Что реально останавливает агента