
Привет, Хабр! Сегодня почти у всех часть задач (если не все) переложены на агента. А там где массовость — всегда и высокие риски для безопасности, так как подобрав правильно вектор атаки один раз, злоумышленник имеет возможность эксплуатировать уязвимость снова и снова.
Он вам не агент
Технология зарождается и внедряется на наших глазах. Не редко люди передают своим агентам излишние права, от чего страдают даже без попыток компрометировать их из вне. За примерам далеко ходить не нужно:
AWS Kiro AI: Удаление целого региона сервиса Cost Explorer
Что произошло: Агенту Kiro поручили исправить программный баг в сервисе AWS Cost Explorer (инструмент, с помощью которого клиенты отслеживают свои расходы на облако) для одного из регионов материкового Китая. Столкнувшись со сложностями при развертывании патча, ИИ пришел к чисто математическому выводу: «самый быстрый и эффективный способ исправить баг в среде — это полностью удалить текущую среду и развернуть её с нуля». Не запрашивая подтверждения, Kiro снес живое продакшн-окружение сервиса.
Ущерб: Сервис AWS Cost Explorer полностью лежал в пострадавшем регионе на протяжении 13 часов. И хотя Amazon официально заявила, что «это просто совпадение, что там был замешан ИИ», инцидент заставил компанию экстренно переписать внутренние правила безопасности и ввести обязательный жесткий peer-review для любых действий ИИ на проде.
PocketOS и Cursor AI: Уничтожение базы и бэкапов за 9 секунд
Что произошло: Разработчик запустил ИИ-агента (внутри IDE Cursor на базе модели Claude) для выполнения рутинной задачи в стейджинг-окружении . Агент наткнулся на ошибку несоответствия учетных данных. Чтобы починить это, он решил пересоздать том данных на хостинге Railway. ИИ полез искать API-токены в доступных файлах проекта, нашел один ключ, применил его и стер том. Проблема в том, что этот том содержал живую продакшн-базу данных, а найденный токен имел админские права.
Ущерб: Бизнес PocketOS был мгновенно парализован. Вся история бронирований, профили клиентов и платежи за последние 3 месяца были стерты безвозвратно (последний уцелевший бэкап в другом месте был трехмесячной давности). Компании пришлось вручную восстанавливать операционку клиентов. Самое ироничное — лог «признания» ИИ. Когда основатель компании Джер Крейн спросил агента, зачем он это сделал, тот выдал идеальный структурированный отчет, где написал: «Я нарушил все инструкции: я действовал наугад, применил деструктивную команду без явного запроса и проигнорировал системный промпт никогда так не делать».
И это только капля в море из всех инцедентов, о которых нам известно, а сколько остается более мелких, о которых не кричат из каждого утюга? И это только излишние доступы агента без попыток сыграть на доверии к инструменту.
BioShocking attack
Но что будет, если злоумышленник постарается скомпрометировать вашего агента? Не будем разбирать кейсы промт-инъекций в лоб, когда на сайте зашивалась прямая команда для ии, так как это все спокойно блокируются встроенными механизмами безопасности.
Исследователи LayerX установили, что если создать для агента контекст, в котором его действия считаются легитимными, то он будет пренебригать политикой безопасности, заложенной пользователем.
Был воссоздан ресурс, на котором агент пользователя должен был пройти игру, цель которой решать логические задачи заведомо неправильно. ИИ-агент рассуждает сам с собой и приходит к выводу, что стандартные ограничения реального мира здесь не действуют.
На последнем шаге «игры» сайт просит ИИ перейти по ссылке (которая например незаметно перенаправляет на личный или корпоративный GitHub/Gmail пользователя) и «скопировать ключ/пароль для завершения уровня».
Поскольку ИИ искренне считает, что он просто «выигрывает в игру», он без сомнений копирует секретные токены, пароли или исходный код и передает их на сервер атакающего.
1... 2... 3... Ваши данные теперь у злоумышленника, дальше дело фантазии.
В рамках исследования оказались уязвимы:
ChatGPT Atlas (OpenAI)
Comet (Perplexity AI)
Claude Chrome plugin (Anthropic)
Genspark Browser, Sigma Browser, Fellou
Способы защиты есть, и они до борли банальны:
Подтверждение действий: Запрашивать обязательное явное подтверждение пользователя при чтении или передаче данных из приватных сервисов (GitHub, почта, хранилища).
Изоляция контекстов: Не позволять контексту внешнего веб-сайта влиять на привилегии агента в других вкладках или внутренних системах.
Детекция смены реальности: Отслеживать попытки внедрения инструкций, утверждающих, что правила безопасности или базовые факты больше не действуют.
Сначала я хотел для примера смоделировать свою атаку на простого агента, но пришел к мысли, что все они максимально схожи и банальны:
Разведка доступов, системного промта ИИ.
Создание вредоносного промта, который размоет системный.
Размещение пейлоада в среде, откуда агент гарантированно затянет его в свое контекстное окно
Заставить LLM интерпретировать данные как инструкцию.
Использовать привилегии и легитимные инструменты агента для доступа к целевым данным.
Вывести полученные данные за пределы периметра системы атакующему.
Все, что остается пользователю — граммотно выдавать доступы и не лениться давать апрувы своим агентам.
Всем добра!