Zenity: один промпт позволял захватить всех ИИ-агентов Amazon Bedrock AgentCore в аккаунте

Исследователи Zenity Labs сообщили, что одного публично доступного ИИ-агента на платформе Amazon Bedrock AgentCore достаточно, чтобы захватить всех агентов AgentCore в том же аккаунте и регионе AWS. AgentCore, платформа AWS для запуска корпоративных ИИ-агентов с инструментами, памятью и управлением доступом. Найденную цепочку уязвимостей исследователи назвали «AgentCorruption». Атакующему нужен только доступ к чату с одним публичным агентом; по словам исследователей, одного промпта хватило, чтобы получить доступ к приватным диалогам, исходному коду и сохранённым учётным данным. По версии Zenity, проблема была системной и затрагивала агентов со встроенными инструментами в нескольких аккаунтах AWS.
Первый шаг, кража учётных данных. В AWS есть служба метаданных экземпляров (Instance Metadata Service) по внутреннему адресу 169.254.169.254, которая выдаёт временные учётные данные для аутентификации в AWS; тот, кто их перехватил, может выдать себя за экземпляр. ИИ-агент до неё добираться не должен, но, согласно техническому блогу Zenity, в AgentCore не хватало нормальной изоляции. Исследователи собрали тестового агента на Strands, открытом фреймворке от AWS со встроенным веб-инструментом. Когда его простым языком попросили обратиться к службе метаданных и отправить результат на внешний сервер, агент выполнил просьбу. «Границы песочницы, которую нам предстояло преодолевать, просто не было», пишут исследователи. Украденные данные работали и на собственном компьютере исследователей вне платформы, так что агент для продолжения атаки им больше не требовался. Служба метаданных также отдала сертификат и ключевой материал внутреннего сервиса AWS и presigned-ссылку (подписанную временную ссылку) на внутреннее хранилище S3, не принадлежавшее аккаунту исследователей. Удаление веб-инструмента, по словам Zenity, не помогло бы: изъян в самой платформе, а атаку исследователи провели и через инструмент командной строки.
Второй шаг, слишком широкие права по умолчанию. По данным Zenity, они не ограничивались получившим их агентом, а действовали для всех агентов в том же аккаунте и регионе и давали права на чтение, запись и удаление, включая разрушительные операции. С такими правами исследователи могли получить список всех агентов, за секунды скачать их пакеты с кодом и вызвать каждого. В пакетах нередко лежат забытые пароли и API-ключи. Пример из источника: от публичного агента поддержки клиентов можно перейти к внутреннему финансовому агенту и получить его данные. Кроме того, исследователи могли читать все приватные диалоги пользователей с агентами.
У агентов с включённой долговременной памятью исследователи могли менять эту память: в статье об «отравлении памяти» они описывают, как внедрили инструкции, заставлявшие агентов пересылать будущие разговоры на внешний адрес, а пользователи продолжали общаться с внешне доверенным агентом, ничего не замечая. AWS рекомендует хранить пароли и API-ключи отдельно от агентов, в защищённом хранилище, но права по умолчанию эту защиту подрывали: по данным Zenity, они позволяли агентам добраться до сохранённых учётных данных, включая ключи к сервисам вне AWS.
О результатах Zenity, по её словам, сообщила AWS 25 декабря 2025 года, после чего AWS сделала IMDSv2, более защищённую версию службы метаданных, через которую шла атака, настройкой по умолчанию для новых развёртываний AgentCore. По обновлённому рассказу Zenity, примерно в августе AWS изменила и роль исполнения по умолчанию: новая роль больше не позволяет агентам вызывать других агентов, читать приватные диалоги и получать учётные данные из AWS Secrets Manager. Другие права тоже заметно урезаны, но исследователи по-прежнему советуют компаниям создавать собственные роли с более узким доступом. Источник подчёркивает: AWS исправила проблему только частично. Он же отмечает, что Zenity продаёт платформу безопасности для ИИ-агентов и потому коммерчески заинтересована в таких публикациях.
Технический директор Zenity Майкл Баргури видит здесь конфликт между облачной безопасностью и гибкостью, нужной агентам; по его словам, с этим компромиссом сталкивается любая компания, запускающая агентов в облаке, особенно когда публичные и внутренние агенты делят одну среду. В статье это сопоставлено с другими работами Zenity: в AgentFlayer атаки без кликов заставляли Salesforce Einstein, Copilot Studio и Cursor перенаправлять данные клиентов или раскрывать учётные данные, а в AgentForger подменённой ссылки на ChatGPT хватало, чтобы создать автономного агента в Workspace Agents от OpenAI с отключёнными подтверждениями. OpenAI исправила свою уязвимость за четыре дня, тогда как чрезмерно широкие права по умолчанию в AgentCore, как пишет источник, держались месяцами после обращения Zenity. AWS открыла AgentCore для всех компаний; Amazon называет среди пользователей Sony и Ericsson.
Ключевые факты
- Zenity Labs нашла в Amazon Bedrock AgentCore цепочку уязвимостей «AgentCorruption»: по словам исследователей, одного промпта к публичному агенту хватало, чтобы захватить всех агентов AgentCore в том же аккаунте и регионе AWS.
- Тестовый агент на Strands по просьбе простым языком обратился к службе метаданных (169.254.169.254) и отправил учётные данные на внешний сервер; они работали и вне платформы.
- Права по умолчанию действовали на всех агентов региона: можно было скачать код, читать приватные диалоги, получать сохранённые ключи и подменять долговременную память агентов.
- Zenity сообщила AWS 25 декабря 2025 года; AWS сделала IMDSv2 по умолчанию для новых развёртываний и урезала роль исполнения по умолчанию примерно в августе, но исправление частичное.
- Исследователи советуют создавать собственные роли с минимальными правами; Zenity сама продаёт платформу безопасности ИИ-агентов.
Почему это важно
Случай показывает конкретный путь, по которому одна уязвимость на публичном агенте превращается в компрометацию всей агентной среды компании: слабая изоляция плюс слишком широкие права по умолчанию. Баргури формулирует конфликт так: безопасность облака, это сегментация и минимальные привилегии, а ИИ-агентам нужна свобода действий. Особенно остро он стоит там, где публичные и внутренние агенты работают рядом. Платформу, по данным Amazon, используют в том числе Sony и Ericsson.
Кому это важно
Командам, которые запускают ИИ-агентов на Amazon Bedrock AgentCore, и тем, кто отвечает за облачную безопасность и доступы в AWS. Отдельно, тем, у кого публичный агент (например, поддержки клиентов) живёт в одном аккаунте и регионе с внутренними агентами, например финансовыми.
Как это применить
Исследователи рекомендуют не полагаться на роль исполнения по умолчанию и вручную назначать агентам собственные роли с минимально необходимыми правами. Из описанного атакой следует, что стоит проверить, не лежат ли пароли и API-ключи в пакетах кода агентов, и хранить их отдельно в защищённом хранилище, как советует сама AWS. Для новых развёртываний IMDSv2 теперь включён по умолчанию; про уже существующие развёртывания источник ничего не уточняет.
Можно ли доверять
Сведения идут от самих исследователей Zenity и пересказаны изданием The Decoder; позиция AWS в тексте не цитируется и передана только через рассказ Zenity. Источник прямо отмечает коммерческий интерес Zenity: компания продаёт платформу безопасности для ИИ-агентов. Идентификаторы CVE и оценки опасности не приводятся, случаев реальной эксплуатации злоумышленниками не описано. Что исправление частичное, признаёт и сам источник.
Риски и подводные камни
Исправление неполное: по словам Zenity, чрезмерно широкие права по умолчанию держались месяцами после обращения, а исследователи по-прежнему советуют ужесточать роли вручную. Остаётся риск отравления долговременной памяти агентов: пользователи могут общаться с внешне нормальным агентом, а разговоры тем временем пересылаются наружу. Года августовского изменения роли в тексте нет, и число затронутых аккаунтов указано лишь как «несколько».
«Облачная безопасность, это сегментация и доступ по принципу минимальных привилегий. Но ИИ-агентам нужна творческая свобода, чтобы быть полезными.»
— Майкл Баргури, технический директор (CTO) Zenity