
Привет, Хабр! Сегодня почти у всех часть задач (если не все) переложены на агента. А там где массовость — всегда и высокие риски для безопасности, так как подобрав правильно вектор атаки один раз, злоумышленник имеет возможность эксплуатировать уязвимость снова и снова.
Он вам не агент
Технология зарождается и внедряется на наших глазах. Не редко люди передают своим агентам излишние права, от чего страдают даже без попыток компрометировать их из вне. За примерам далеко ходить не нужно:
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 интерпретировать данные как инструкцию.
-
Использовать привилегии и легитимные инструменты агента для доступа к целевым данным.
-
Вывести полученные данные за пределы периметра системы атакующему.
Все, что остается пользователю — граммотно выдавать доступы и не лениться давать апрувы своим агентам.
Всем добра!
ссылка на оригинал статьи https://habr.com/ru/articles/1062454/