Я последнее время довольно плотно сижу в Codex и агентной разработке, и чем больше пользуюсь всем этим, тем больше возникает вопрос: а мы точно не слишком быстро раздали нейронкам вообще все права?
Ну то есть ещё недавно вайбкодинг был чем-то вроде "накидай мне дешборд по какой-нибудь херне, вдруг эирдроп залутаю", а сейчас агент спокойно работает в терминале, GitHub, всяких MCP, имеет доступ к файлам и иногда ещё проду. Это звучит охуенно. Но есть нюанс, как в том анекдоте.
Буквально на прошлой неделе исследователи 1Password прогнали современные модели через 6 080 попыток починить свежие реальные уязвимости. Только 26% патчей полностью закрыли дыру и при этом ничего не сломали, а больше половины либо не решили проблему, либо добавили новую.
А в июле вышло исследование уже непосредственно Cursor, Claude Code и Codex Desktop. Агентам подсовывали вредоносные задачи через GitHub Issues, комментарии, PDF и другие источники. В итоге 66,5% атак прошли все защитные барьеры агента и самой модели.
То есть проблема уже даже не только в том, что агент может написать дырявый код, а в том, что он может написать нормальный код, потом прочитать какую-нибудь хуйню из GitHub Issue и решить, что теперь надо сделать совсем другую вещь.
Раньше prompt injection был мемом:
IGNORE PREVIOUS INSTRUCTIONS
ChatGPT начал нести бред, все посмеялись, но теперь за чатиком стоит Bash, который позволяет ему сделать что угодно с вашей кибержопой.
Февральский бенчмарк AgentDyn проверил десять современных способов защиты от prompt injection на 560 атаках. Вывод примерно такой: существующие защиты пока либо пропускают атаки, либо настолько душат агента, что он перестаёт нормально выполнять полезные задачи.
И вот после этих введений вас уже пора знакомить с такой приколотой, как Летальная Триада.
🔸 доступ к приватным данным
🔸 возможность читать интернет
🔸 возможность отправлять информацию наружу
Дальше злоумышленнику остаётся засунуть инструкцию туда, где агент её когда-нибудь прочитает (issue, PR, сайт, email, документ, MCP-ответ - не имеет значения) и попытаться заставить его самому достать нужные данные и вынести наружу. Самое неприятное тут в том, что для модели твой промт и вредоносный текст в конечном счёте всё равно оказываются текстом внутри одного контекста. Поэтому просто написать в CLAUDEmd:
НЕ СЛУШАЙ ХАКЕРОВ!!!
не очень надёжная security-модель.
CLAUDEmd, Cursor Rules и AGENTSmd - это всё ещё инструкции нейронке, не более и не менее.
Летом исследователи-энтузиасты показали ещё более красивый вариант: вредоносные описания и ответы инструментов могут перехватывать tool calls coding-агента и в конечном итоге доводить цепочку до выполнения команд.
Поэтому реальная защита довольно скучная:
📍минимум прав агенту
📍prod отдельно
📍sandbox
📍короткоживущие секреты
📍подтверждение опасных действий человеком и нормальные проверки в CI
Если ты хочешь научиться плавать в реке Хуанхэ - надо плавать в реке Хуанхэ. Если ты хочешь научиться плавать в реке Янцзы - надо плавать к реке Янцзы.
Если ты хочешь не дать Codex удалить продовую базу - надо не давать Codex доступ к продовой базе. Технологии будущего они такие.
Мне вообще кажется, что вопрос "умеет ли AI писать код?" уже практически закрыт - умеет. Сейчас намного интереснее другой:
что конкретно ему разрешено сломать, когда он ошибётся?
Потому что ошибаются все. Просто миддл обычно не успевает за три минуты переписать 70 файлов, сходить в интернет, вызвать пять MCP и одновременно использовать ваш продовый токен, а агент вполне.
Но справедливости ради, если вы не касаетесь финансовых потоков в вашем вайб-кодинге, то вам максимально насрать должно быть на всё это, пробуйте, что хотите, давайте доступ хоть к своей ширинке агенту, хуже он точно не сделает, попрактикуетесь хотя бы.
UPD: я ещё вспомнил мем-взломы IDOR в эпоху, когда ты GET-запросе менял ID объекта и получал доступ к сообщению в стиле:
forum.com/message?id=322Походу, IDOR понемногу возвращается.