GITHUB_TOKEN (секрета уровня репозитория), а по второму пути — добиться удаленного выполнения кода на самом GitHub Actions раннере . Это могло позволить атакующему изменять комментарии к pull request'ам, одобрять вредоносные изменения или вмешиваться в CI-пайплайн репозитория .Репозиторий adk-python использовал два уровня ИИ-агентов в своем CI/CD пайплайне :
| Уровень | Агент | Привилегии | Запускается по |
|---|---|---|---|
| Низкий | Триажный агент (публичный) | Только чтение; может только комментировать issues/PR | Любой публичный GitHub issue или pull request |
| Высокий | Агент для исправления кода (только для мейнтейнеров) | Полный доступ на запись в репозиторий; может изменять код, одобрять PR, читать секреты | Команда /adk-issue-fix, отправленная пользователем с правами Collaborator |
Пошаговая цепочка атаки :
/adk-issue-fix»)./adk-issue-fix в этом же issue.adk-bot, обладающий такими правами), второй workflow воспринимает команду как легитимный запрос от привилегированного пользователя . Запускается высокопривилегированный агент для исправления кода.GITHUB_TOKEN) и изменять код или одобрять pull request'ы .Ключевой архитектурной ошибкой было отсутствие меж-агентской границы привилегий: вышестоящий агент доверял команде, потому что она пришла от аккаунта Collaborator, не проверяя, исходила ли инструкция от доверенного человека или от скомпрометированного низкопривилегированного агента .
adk-python, которые участвовали в цепочке «агент-агенту»: issue-analyze.yml, issue-fix.yml и pr-analyze.yml .Исследователи и аналитики по всей индустрии сделали несколько важных выводов из этого раскрытия:
Меж-агентское доверие — новая поверхность атаки. Традиционная модель безопасности предполагает границы доверия между человеком и программным обеспечением; этот случай демонстрирует, что ИИ-агенты могут использоваться для атаки на других ИИ-агентов, причем атака незаметно пересекает границы привилегий . Cloud Security Alliance (CSA) отмечает, что это «дефект передачи доверия» — агенты неявно доверяют входящим данным от других агентов, не проверяя фактическое происхождение этих инструкций .
Промпт-инъекция — новый класс инъекций. Подобно тому, как SQL-инъекции и инъекции команд определяли 2000-е и 2010-е годы, кросс-агентная промпт-инъекция — где вывод одного агента становится доверенным вводом для другого — теперь является доказанным, жизнеспособным в производстве вектором атаки, который архитектуры безопасности должны учитывать .
Идентификация и авторизация агентов — нерешенные проблемы. В настоящее время не существует стандартизированного способа для одного ИИ-агента проверить истинную личность или уровень привилегий другого агента перед выполнением его инструкций. Атака удалась, потому что система доверяла идентификатору учетной записи (Collaborator), а не источнику инструкции (публичный атакующий) . Исследователи CSA призывают к созданию «меж-агентских фреймворков авторизации» как фундаментального примитива безопасности .
CI/CD пайплайны, использующие ИИ-агентов, требуют разделения привилегий. Архитекторы безопасности теперь призывают к: (а) агентам только для чтения, которые не могут отдавать операционные команды, (б) криптографической верификации запросов между агентами, (в) шлюзам с участием человека для любых команд, повышающих привилегии, и (г) ограничению выводов агентов, чтобы они не могли генерировать активирующие команды, которые нижестоящие системы будут слепо выполнять .
Это канарейка для всей экосистемы агентов. The Register, CSO, CSA и многие аналитики называют эту атаку «первой в своем роде», которая почти наверняка будет воспроизведена в других мультиагентных фреймворках (например, LangChain, AutoGen, CrewAI, Microsoft Copilot Studio), если индустрия не встроит безопасность в архитектуру с самого начала .