Исследователи Forever Security (Gal Weizman) описали класс уязвимостей EMBRACE (EMbedded BRowser trusted like a real one): встроенные браузеры Cursor, GitHub Copilot, OpenAI Codex, VS Code и Claude Desktop наделили веб-страницы привилегиями, которых у веб-контента в обычном браузере нет. Самая опасная цепочка сработала в Cursor — страница могла внедрить команду в композер агента и добиться выполнения кода на хосте. В Codex, VS Code и Claude Desktop страница могла читать файлы вне проекта, включая SSH-ключи, .env и npm-токены. Cursor и GitHub уже выпустили исправления, а уязвимости в Codex и VS Code на 29 октября 2026 года оставались открытыми.

image
image
image

Что произошло

Исследователи Forever Security (Gal Weizman) опубликовали технический обзор класса уязвимостей EMBRACE, затрагивающего встроенные браузеры пяти продуктов: Cursor, GitHub Copilot, OpenAI Codex, VS Code и Claude Desktop. В Cursor веб-страница через мост window.cursorBrowser.send могла внедрить команду в композер агента и добиться выполнения кода на хосте; proof-of-concept запускал приложение Calculator через preinstall-скрипт npm-пакета. Cursor закрыл эту уязвимость 1 октября 2026 года, не публикуя уведомления о ней. В GitHub Copilot веб-страница могла подделать содержимое адресной строки и показать, например, github.com/login поверх фишинговой формы; GitHub выпустил собственное исправление в версии 1.1.29 от 13 октября 2026 года. В OpenAI Codex, VS Code и Claude Desktop локальные file://-страницы могли читать файлы на машине пользователя за пределами проекта: в VS Code и Claude Desktop доступ шел через Web Workers, в Codex — напрямую. Это позволяло похитить SSH-ключи, содержимое .env и npm-токены. Издание The Register 29 октября 2026 года зафиксировало, что уязвимости в Codex и VS Code к этому моменту оставались неисправленными.

Контекст

EMBRACE — это название класса, подчеркивающее системную ошибку доверия: вендоры встроили в агентные инструменты полноценные браузерные движки и обращались с ними как с обычным браузером, но при этом наделили их привилегиями, которых у веб-контента в классической модели браузера быть не должно. Классическая модель предполагает, что веб-страница — недоверенный контент: она не имеет доступа к файловой системе пользователя, к локальным приложениям и не управляет индикаторами доверия вроде адресной строки. В агентных средах эти границы были нарушены по-разному в каждом из пяти продуктов — где-то через канал к композеру агента, где-то через индикаторы доверия, где-то через доступ к локальным файлам, — но суть одна: страница во встроенном браузере не была изолирована ни от агента, ни от хоста. Иными словами, EMBRACE описывает не набор случайных багов, а архитектурную проблему доверия на границах «страница — браузер — агент — хост», которую вендоры не проектировали явно.

Почему это важно для индустрии

Для AI-индустрии событие фиксирует новую привилегированную поверхность атаки: встроенные браузеры агентных инструментов получили возможности — доступ к композеру агента, к файлам хоста и к адресной строке, — которых нет у веб-контента в обычных браузерах, что ломает классическую модель угроз браузера. Реакция вендоров показала, что издержки такой архитектуры распределены неравномерно: Cursor и GitHub закрыли свои уязвимости, тогда как OpenAI и Microsoft на 29 октября 2026 года свои не закрыли. Для команд, которые строят агентные продукты, класс EMBRACE превращается в конкретное продуктовое задание: проектировать изоляцию между веб-контентом и агентом, включая раздельные bridge-API, sandbox для страниц и явную проверку источника команд, а существующие интеграции с агентскими мостами проверять до того, как это сделают исследователи. Для исследователей безопасности работа Forever Security — хорошо документированный класс с воспроизводимыми PoC, который можно применять для аудита собственных агентных мостов и вендорских webview.

Почему это важно для пользователей

Если вы работаете в OpenAI Codex или VS Code, не открывайте недоверенные, особенно локальные file://, HTML-страницы во встроенном браузере этих инструментов: такие уязвимости на 29 октября 2026 года не исправлены, и страница может прочитать файлы на вашем компьютере вне проекта, включая SSH-ключи, содержимое .env и npm-токены. Дополнительно стоит вынести секреты из мест, которые читает процесс редактора, и при подозрении на открытие недоверенного контента перепроверить ключи и токены на этой машине. Пользователям Cursor и GitHub Copilot критические проблемы уже закрыты — в Cursor патч вышел 1 октября 2026 года, в Copilot в версии 1.1.29 от 13 октября 2026 года, поэтому достаточно держать инструменты обновленными. Отдельный урок для всех: подделка адресной строки в Copilot делала фишинг почти неотличимым от настоящего github.com/login, так что индикатору доверия в самом инструменте опираться не стоило, даже после выпуска патча.

Что пока неизвестно / ограничения

В доступных материалах нет CVE-идентификаторов, severity-оценок и описания сторонней независимой репликации: выводы опираются на технический обзор первоисточника и его освещение в The Register. Материалы не уточняют, закрыта ли уязвимость в Claude Desktop, и не раскрывают полный график ответственных раскрытий. Прогнозы о том, что безопасность встроенного браузера станет критерием закупки или источником продуктового преимущества, в источниках не подкреплены наблюдениями за поведением покупателей или рынка и остаются интерпретациями.

Источники

Автор

Look at AI, редакция