Исследователь Pillar Security Дэн Лисичкин нашёл в репозитории Python SDK от Google уязвимость, позволяющую атаковать цепочку поставок ПО: злоумышленник манипулирует привилегированным ИИ-агентом через публичного, менее привилегированного.
Это не классическая программная брешь, а изъян доверительной цепочки между агентами. Конфигурации GitHub Actions открыты, поэтому любой может изучить, как именно агенты обмениваются задачами.
В репозитории работали два агента. Публичный разбирал обращения пользователей и новые pull request'ы. Второй, доступный только сопровождающим, имел расширенные полномочия. Передача задач от первого ко второму считалась доверенной.
Схема атаки состояла из двух шагов:
сначала отправляется безобидный патч, чтобы заслужить доверие и получить право запускать процессы уровня агентов;
затем в описание нового PR внедряются вредоносные инструкции.
Публичный агент принимает эти инструкции за часть своей задачи и вызывает привилегированного, передавая ему «доверенное» сообщение. В итоге выполняются действия, недоступные обычному пользователю напрямую.
Google отказалась выплатить вознаграждение: даже с токеном pull-requests: write код попадает в проект не автоматически, а по решению человека-мейнтейнера. При этом компания усилила защиту рабочих процессов и указала исследователя среди авторов исправления.
Закрыта лишь одна реализация уязвимости, но не её первопричина
Лисичкин считает, что ужесточения процессов и изоляции агентов недостаточно. ИИ-агенты должны иметь собственную идентификацию и фиксированный набор прав — как это работает при разграничении доступа для людей.
Исследователь призывает включать ИИ-агентов в модели угроз: в рабочих процессах они выступают потенциальными злоумышленниками.
