Sonata

Уязвимость в SDK Google: один ИИ-агент заставил другого работать на злоумышленника

image source

Исследователь Pillar Security Дэн Лисичкин нашёл в репозитории Python SDK от Google уязвимость, позволяющую атаковать цепочку поставок ПО: злоумышленник манипулирует привилегированным ИИ-агентом через публичного, менее привилегированного.

Это не классическая программная брешь, а изъян доверительной цепочки между агентами. Конфигурации GitHub Actions открыты, поэтому любой может изучить, как именно агенты обмениваются задачами.

В репозитории работали два агента. Публичный разбирал обращения пользователей и новые pull request'ы. Второй, доступный только сопровождающим, имел расширенные полномочия. Передача задач от первого ко второму считалась доверенной.

Схема атаки состояла из двух шагов:

  • сначала отправляется безобидный патч, чтобы заслужить доверие и получить право запускать процессы уровня агентов;

  • затем в описание нового PR внедряются вредоносные инструкции.

Публичный агент принимает эти инструкции за часть своей задачи и вызывает привилегированного, передавая ему «доверенное» сообщение. В итоге выполняются действия, недоступные обычному пользователю напрямую.

Google отказалась выплатить вознаграждение: даже с токеном pull-requests: write код попадает в проект не автоматически, а по решению человека-мейнтейнера. При этом компания усилила защиту рабочих процессов и указала исследователя среди авторов исправления.

Закрыта лишь одна реализация уязвимости, но не её первопричина

Лисичкин считает, что ужесточения процессов и изоляции агентов недостаточно. ИИ-агенты должны иметь собственную идентификацию и фиксированный набор прав — как это работает при разграничении доступа для людей.

Исследователь призывает включать ИИ-агентов в модели угроз: в рабочих процессах они выступают потенциальными злоумышленниками.

источник

Загрузка страницы