Исследователи вынудили ИИ-агента Google атаковать собственный репозиторий - «Новости»
- 14:30, 10-авг-2026
- Новости / Отступы и поля / Изображения / Преимущества стилей / Текст
- Сильва
- 0
Исследователи из компании Pillar Security обнаружили в репозитории Google Agent Development Kit для Python сразу две проблемы, которые злоумышленник мог использовать для запуска привилегированного ИИ-агента. Один из багов позволял подделать процесс проверки пул-реквеста, а другой — выполнить произвольный код в CI-раннере и похитить секреты.
Google ADK представляет собой опенсорсный набор инструментов для создания и развертывания ИИ-агентов, который скачали уже более 90 млн раз.
Как объясняет исследователь Pillar Security Дэн Лисичкин (Dan Lisichkin), проблемы были связаны не с самим Python-пакетом, а с автоматизацией работы его GitHub-репозитория. Так, в репозитории работали агенты двух типов: низкопривилегированные боты обрабатывали публичные issues и пул-реквесты, тогда как другие агенты были доступны только мейнтейнерам и могли выполнять команды, изменять код и работать с секретами. При этом обе группы агентов не были должным образом изолированы друг от друга.
В рамках первой атаки, разработанной специалистами, злоумышленник мог открыть пул-реквест, содержащий настоящее исправление и вредоносный код, а затем создать второй пул-реквест с промпт-инжектом. Агент первичной проверки обрабатывал его и оставлял в обсуждении служебную команду с упоминанием @gemini-cli. Поскольку это сообщение публиковалось от имени доверенного аккаунта, оно запускало привилегированный воркфлоу.
В результате атакующий мог извлечь GitHub-токен и вмешаться в работу репозитория, получая возможность менять комментарии, issues и пул-реквесты, отклонять чужие ревью, одобрять изменения и запускать Gemini для любого пул-реквеста.
Также атаку можно было использовать для создания полностью поддельной истории проверки: якобы человек запросил ревью, а Gemini изучил код и одобрил его, хотя в действительности этого не произошло. Однако отмечается, что мейнтейнер все равно должен был вручную принять и объединить с основной веткой вредоносный пул-реквест, то есть атака требовала применения социальной инженерии.
Позже специалисты обнаружили второй, более опасный вариант атаки, затрагивавший воркфлоу на базе Antigravity SDK. В этом случае публичный агент автоматически анализировал новые issues и оставлял комментарии от имени adk-bot. Поскольку бот имел роль collaborator, через промпт-инжект его можно было вынудить опубликовать команду /adk-issue-fix. В итоге команда, которую фактически продиктовал посторонний пользователь, проходила проверку и запускала привилегированного агента для исправления кода.
Запущенный таким способом агент мог изменять содержимое репозитория, создавать ветки и пул-ревесты, а также работал в окружении с токеном бота, API-ключом Google и учетными данными сервисного аккаунта Google Cloud. Так, в своем отчете исследователи продемонстрировали выполнение произвольного кода в CI-раннере и извлечение персонального токена доступа (PAT), которым пользовался бот.
Отмечается, что в воркфлоу пытались ограничить доступные команды, разрешив только gh и git, но при этом агенту оставили возможность записывать файлы. В результате он мог сохранить пейлоад на диск, указать нестандартный каталог с хуками и запустить вредоносный код через разрешенную команду git.
Эксперты пишут, что не обнаружили скомпрометированных релизов ADK и признаков эксплуатации этих багов в реальных атаках. В настоящее время инженеры Google уже усилили защиту репозитория и удалили три опасных воркфлоу — issue-analyze.yml, issue-fix.yml и pr-analyze.yml.
Лисичкин резюмирует, что одной только изоляции агентов уже недостаточно, и у каждого бота должна быть собственная учетная запись с минимально необходимыми правами и четкими ограничениями на доступ к ресурсам. Также исследователь рекомендует разработчикам разделять учетные записи разных агентов, урезать права их токенов и не считать команды доверенными только потому, что их опубликовал бот.

















Комментарии (0)