Критическая уязвимость в Google ADK для Python: неаутентифицированный RCE в adk web

Коротко о главном
9 сентября 2026 года раскрыта уязвимость CVE-2026-79696 (CVSS 10.0) в Google Agent Development Kit (ADK) для Python — фреймворке для сборки ИИ-агентов. Компонент adk web в средах, где установлен pytest, позволяет неаутентифицированному злоумышленнику выполнить произвольный код через подставной реплей тестовой сессии. Затронуты версии 2.0.0–2.6.0; исправление — в 2.7.0. Кто использует ADK в OSS, Cloud Run или GKE, должен обновиться немедленно.
Для команд, которые строят агентные продукты, это ещё один сигнал: слой создания ИИ-агентов нужно защищать так же серьёзно, как продовый веб, а не считать «утилитой разработчика». Отдельно проверьте, не поднят ли dev-сервер adk web в окружении, доступном из сети, — именно такая конфигурация превращает баг в реальный RCE.
Быстрое действие простое: обновить пакет до 2.7.0 и убрать adk web из любого сетевого периметра. Более глубокий вывод — заложить аудит кода и зависимостей агентных пайплайнов в регламент, потому что поверхность атаки ИИ-стека растёт быстрее, чем практики её контроля.
Что именно произошло
Google ADK — открытый фреймворк для разработки, оркестрации и отладки ИИ-агентов на Python, активно используемый вместе с сервисами Vertex AI и Cloud Run. В его составе есть adk web — локальный веб-интерфейс для интерактивной отладки агентов, включая воспроизведение (replay) сохранённых сессий. Именно в обработке такого реплея и обнаружился изъян.
Корень проблемы классифицирован как CWE-184 — неполный список запрещённых значений (incomplete list of disallowed inputs). Проще говоря, механизм, который должен был блокировать ссылки на опасные модули, фильтровал их не полностью. Когда в окружении присутствует pytest, специально сформированный реплей тестовой сессии обходит эту неполную проверку и приводит к внедрению и выполнению кода. Исправление в 2.7.0 ужесточает валидацию ссылок на заблокированные модули в конфигурации агента.
Насколько это серьёзно
Уязвимости присвоен максимальный балл CVSS 10.0 с вектором AV:N/AC:L/AT:N/PR:N/UI:N — сетевой вектор атаки, низкая сложность, без каких-либо предусловий, привилегий и участия пользователя, с высоким воздействием на конфиденциальность, целостность и доступность. Это худший из возможных профилей: удалённый злоумышленник без учётной записи получает выполнение кода на хосте.
Практический риск зависит от конфигурации. adk web задуман как инструмент локальной отладки и не предназначен для публичного развёртывания. Но на практике его нередко поднимают на общих dev-стендах, в контейнерах CI или в облачных песочницах Cloud Run/GKE, доступных шире, чем предполагалось. В связке с типичным для проектов на Python pytest это и создаёт эксплуатируемый путь. Публичного массового эксплойта на момент публикации не зафиксировано, но при CVSS 10 и тривиальности вектора окно до появления PoC короткое.
Что это значит для команд разработки
Ключевой урок шире одного CVE: инструментарий вокруг ИИ-агентов — дев-серверы, реплеи сессий, интерфейсы отладки, MCP-коннекторы — это полноценная поверхность атаки, а не «внутренняя мелочь». За последние месяцы схожие критические дыры находили в Cursor IDE, Langflow, MLflow и других элементах ИИ-стека. Общий паттерн один: удобные для разработчика фичи, которые небезопасно обрабатывают недоверенный ввод, оказываются в сетевом доступе.
Отсюда практические выводы. Никогда не выставляйте инструменты отладки агентов (в том числе adk web) в сеть — только localhost и защищённые каналы. Держите реестр ИИ-зависимостей и следите за их CVE так же, как за веб-фреймворками. И относитесь к реплеям сессий, конфигам агентов и данным инструментов как к недоверенному вводу, который обязателен к валидации.
Как действовать прямо сейчас
Обновите Google ADK для Python до версии 2.7.0 или новее во всех окружениях — dev, CI, Cloud Run, GKE. Проверьте зависимости транзитивно: ADK может подтягиваться как зависимость другого пакета.
Уберите adk web из любого сетевого периметра. Убедитесь, что интерфейс отладки не слушает на 0.0.0.0 и не проброшен наружу через ingress, туннель или публичный порт контейнера.
Ограничьте наличие pytest в продовых и сетевых образах. Тестовые зависимости не должны попадать в рантайм-контейнеры — это снижает и данный риск, и класс похожих.
Проверьте логи на аномальные обращения к adk web и запуски дочерних процессов агентами. При подозрении на компрометацию — ротация секретов и токенов, к которым имел доступ хост.
Часто задаваемые вопросы
Какие версии затронуты? Google ADK для Python с 2.0.0 по 2.6.0 включительно. Уязвимость устранена в версии 2.7.0.
Уязвим ли я, если не использую adk web? Основной эксплуатируемый путь проходит через компонент adk web при наличии в окружении pytest. Тем не менее обновление до 2.7.0 обязательно для всех: оно ужесточает валидацию ссылок на заблокированные модули в целом.
Эксплуатируется ли уязвимость в реальных атаках? На момент публикации подтверждённых данных о массовой эксплуатации нет. Но балл CVSS 10.0 и тривиальный сетевой вектор означают высокий риск быстрого появления публичного PoC — откладывать патч нельзя.
Касается ли это управляемых сервисов Google Cloud? Ремедиацию облачных компонентов Google выполняет на своей стороне; за детальными инструкциями по конкретным средам следите в официальных советниках Google Cloud. Ответственность за самостоятельно развёрнутый ADK (OSS/Cloud Run/GKE) лежит на владельце деплоя.
Источники
OffSeq Threat Radar — CVE-2026-79696: CWE-184 Incomplete List of Disallowed Inputs in Google Cloud Agent Development Kit (ADK) for Python, 9 сентября 2026 года.
GitHub — google/adk-python, фикс валидации ссылок на заблокированные модули в config_agent_utils (commit a16f6da), 2026.
CVE Brief — сводка раскрытий за 9 сентября 2026 года (CVE-2026-79696, CVSS 10.0).
Строите ИИ-агентов? Заложите безопасность в архитектуру
Спроектируем и разработаем ИИ-агентов с изоляцией инструментов, валидацией недоверенного ввода и безопасным dev-контуром — без публично торчащих отладочных интерфейсов.