CoreBreak: агентов AWS, Google и Vercel заставили запускать инструменты в обход модели

· Безопасность
Исследователи из Stealth показали на Black Hat USA 2026 общую схему атак, при которой поддельные вызовы инструментов достигают исполнительного слоя ИИ-агента без единого хода языковой модели. AWS, Google и Vercel выпустили исправления.

cover.svg

На конференции 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

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.