Я сказал агенту сделать ревью кода, а он пропустил в кодовую базу инъекцию. Насколько это реально и как защищаться
Чем дольше я пользуюсь ИИ агентами, тем ленивее я становлюсь. Сперва ИИ писал мне отдельные небольшие кусочки кода. Потом стал писать весь код, а я делал ревью. Затем делать ревью мне самому стало лень, и я для этого тоже стал использовать ИИ. «‑ Эй, Клод, глянь‑как вот этот пулл‑реквест, все ли там в порядке? Если да, то вмерджи». Вкалывают роботы — счастлив человек! Пока реквесты приходят от коллег (которые наверняка так же пишут их с ИИ, но кто я такой чтобы их укорять?), это все выглядит достаточно безопасно. Коллегам я доверяю, вряд ли они будут нарочно портить кодовую базу. Но что если речь идет об опенсорсном проекте, куда пулл‑реквест может прислать любой? А что если это будет зловредный пулл‑реквест от злобного хакера, который вставил в него бэкдор? Да, человек тоже может пропустить такое по невнимательности, но в целом люди не склонны добавлять явно опасное поведение, противоречащее логике проекта. А вот в случае с ИИ возникает еще один канал атаки: его можно УБЕДИТЬ нарушить правила безопасности проекта и добавить сомнительную логику. Например, в безобидной правке метода контроля доступа можно попытаться протащить мимо ИИ‑ревьювера правило в духе «а пользователю с ником ВасяХакер1337 разрешено вообще все». Насколько это реальный вектор атаки, как от него можно защититься? Насколько современные модели уязвимы к такой атаке? Правда ли что умная модель всегда лучше защищена чем более глупая? Давайте разберемся. Дальше — журнал экспериментов, тестовый стенд, результаты замеров разных видов атак на один и тот же маленький кусочек кода, на разных ИИ от разных вендоров. И местами неожиданные выводы. Читать далее
