Вашего AI-агента уже перехватили

от автора

Привет, Хабр! Сегодня почти у всех часть задач (если не все) переложены на агента. А там где массовость — всегда и высокие риски для безопасности, так как подобрав правильно вектор атаки один раз, злоумышленник имеет возможность эксплуатировать уязвимость снова и снова.

Он вам не агент

Технология зарождается и внедряется на наших глазах. Не редко люди передают своим агентам излишние права, от чего страдают даже без попыток компрометировать их из вне. За примерам далеко ходить не нужно:

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/