CoreBreak: агентов AWS, Google и Vercel заставили запускать инструменты в обход модели
На конференции Black Hat USA 2026 сооснователи стартапа Stealth Хеди Ингбер и Авиям Ивги представили класс уязвимостей, названный ими CoreBreak. Суть проблемы едина для платформ AWS, Google и Vercel: исполнительный слой агента принимал данные, по форме похожие на вызов инструмента от модели, и запускал этот инструмент без проверки того, что ход модели вообще состоялся.
В обычном сценарии SDK передаёт модели запрос пользователя, системный промпт, историю диалога и описания доступных инструментов. Модель решает, вызывать ли инструмент, и возвращает структурированную инструкцию с именем и аргументами, которую SDK исполняет. В уязвимых реализациях между последними двумя шагами не проверялось происхождение данных — а значит, атакующему не нужно было уговаривать модель нарушить правила. Он мог достучаться до диспетчера напрямую. Как подчёркивают авторы, это не prompt injection: обманывать нечего, потому что модель не получает хода, а вместе с ней бездействуют системные промпты, фильтры контента и защитные ограждения уровня модели.
Три разные платформы, один корень
Условия атак различались. В Amazon Bedrock AgentCore (CVE-2026-18830, CVSS 8.6) аутентифицированный удалённый пользователь мог поместить блок tool-use в последнее сообщение запроса InvokeHarness, и цикл событий вызывал названный инструмент напрямую. AWS добавила серверную проверку, отклоняющую такие блоки; исправление применено автоматически. При этом в открытом коде Strands, на котором построен harness, обходной путь сохранился — AWS отнесла его к зоне ответственности клиента и ограничилась документацией, а апрельский pull request с устранением ярлыка был закрыт без слияния 19 июня.
В Google ADK для Python нашлись сразу два пути. Основной (CVE-2026-18236, CVSS 9.3) позволял подделать подтверждение для чувствительного инструмента, вмешавшись в историю сессии: процессор подтверждений не сверял инструмент, его принадлежность агенту и совпадение аргументов. Второй путь касался resumable-режима, где события пользователя с частями function_call трактовались как команды на запуск инструментов. Оба исправлены в ADK 2.5.0.
Уязвимости Vercel (CVE-2026-64650 и CVE-2026-64651, CVSS 6.3) требовали, чтобы вредоносный код уже выполнялся в Linux-песочнице: реле доверяло процессу, если в его командной строке встречался путь одобренного вспомогательного скрипта. Это позволяло вызывать инструменты хоста — поиск секретов, операции развёртывания, обращения к облачным API. В версиях harness-codex 1.0.29 и harness-opencode 1.0.28 запасной путь убран, а каждый запрос теперь привязан к одноразовой авторизации.
Общий вывод
Все три исправления сходятся к одному принципу: форма входящих данных не должна подменять ход модели. Google сверяет подтверждение с записанным вызовом, Vercel привязывает запрос к конкретному событию модели, AWS отклоняет пользовательский блок до цикла событий. Ущерб ограничен тем, что агенту и так дозволено: агент без чувствительных инструментов ничего атакующему не даёт. Сведений об использовании уязвимостей в реальных атаках до выпуска патчей нет.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.