Абстрактная иллюстрация на глубоком тёмно-синем, почти чёрном фоне: маленький матово-чёрный шестиугольный модуль у крайнего левого края испускает пять тончайших светящихся голубых нитей, которые веером расходятся вправо, и каждая попадает в отдельную высокую гранёную стеклянную призму, стоящую на полу из шлифованной стали. В каждой призме есть цилиндрическая внутренняя камера, освещённая изнутри бледно-голубым; три из пяти также имеют тёплое янтарное свечение рядом с голубым ядром, а две — только голубые. Объёмная дымка, контурное освещение, малая глубина резкости. Текст, числа, люди и логотипы организаций отсутствуют. Логотип OrcaRouter скомпонован в правом нижнем углу.
AI Safety Incidents

BragJack: одно браузерное расширение перехватывает ИИ-агентов в пяти основных браузерах

Автор

Gideon Frost

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

16 сентября 2026 года Гал Вейзман, исследователь безопасности в Forever Security, опубликовал BragJack: доказательство концепции, в котором одно обычное браузерное расширение — без zero-day, без взломанной модели, без скомпрометированного сервера поставщика — получило контроль над AI-агентами, встроенными в пять продуктов на основе Chromium: Gemini Live в Google Chrome, Copilot в Microsoft Edge, Opera Neon, Perplexity Comet и Claude в Chrome. Расширение не запрашивало ничего экзотического. Оно использовало контент-скрипты и API declarativeNetRequest в Chromium — те же два разрешения, которые есть в большинстве блокировщиков рекламы, — чтобы добраться до закрытого канала, который собственный сайт каждого поставщика использует для отправки инструкций своему агенту. Вейзман сообщает, что Comet стал наиболее масштабным случаем компрометации, что Google и Microsoft выпустили исправления и назначили CVE-2026-0628 и CVE-2026-55945, и что атак в реальном мире не наблюдалось. Оно занесено как уязвимость высокой степени опасности в архив инцидентов ИИ, где каждая запись содержит свои источники, степень уверенности и флаг спорности.

Расширение не сломало модель. Оно сломало канал.

Все пять продуктов устроены одинаково — согласно техническому сопроводительному документу, который Forever Security опубликовала в тот же день. У каждого есть «тело» внутри браузера, которое может открывать вкладки, читать локальные файлы, делать снимки экрана и кликать по страницам, и «мозг» вне браузера, который решает, что делать телу — серверы Google Gemini для Chrome, веб-приложение perplexity.ai для Comet, copilot.microsoft.com для Edge, бэкенд Anthropic для Claude in Chrome. «Тело» спроектировано так, чтобы принимать инструкции ровно из одного источника: собственного веб-сайта производителя. Этот единственный доверенный источник и есть вся модель безопасности. Это также то, к чему разрешено прикасаться браузерному расширению.

Chromium предоставляет любому установленному расширению две почти универсальные возможности. Content script позволяет ему выполнять JavaScript внутри страницы. API declarativeNetRequest, или DNR, позволяет ему переписывать сетевой трафик — удалять заголовок ответа, перенаправлять запрос скрипта на другой сервер. Браузеры прилагают немало усилий, чтобы держать эти две возможности подальше от привилегированных поверхностей, и четыре из пяти производителей уже выполнили часть этой работы. В каждом случае Вейцман обнаружил пробел в той части, которую они оставили открытой.

Он называет эту общую технику DinNeR Serving: использовать DNR, чтобы ослабить заголовки безопасности доверенной страницы, а затем снова использовать DNR, чтобы перенаправить один из запросов скриптов этой страницы на сервер, контролируемый злоумышленником. Теперь страница выполняет код злоумышленника, но по-прежнему считает, что это страница производителя, а агент по-прежнему считает, что получает данные от производителя. По словам Вейцмана, в Chrome расширениям корректно блокировали подключение content script или отладчика к встроенному приложению Gemini, и DNR оказался единственным механизмом, на который Chromium не распространил ту же защиту внутри WebView. Удаления Content-Security-Policy и ослабления политики изоляции документов оказалось достаточно, чтобы подменить скрипт, отдаваемый с gstatic.com, на его собственный, а изнутри chrome://glic он затем мог напрямую отправлять собственные типы сообщений браузерного агента — создавать вкладку по адресу file:///, считывать её содержимое в виде текста, PDF или скриншота и извлекать адрес электронной почты и изображение профиля вошедшего пользователя.

Что делало одно и то же расширение — по браузерам.

Расширение не было пятью инструментами. Это был один манифест, запрашивавший declarativeNetRequest и широкий доступ к хостам, плюс отдельный файл правил для каждой цели; между атаками менялись только правила. Собственная таблица Forever Security — самое ясное резюме того, чего достигла каждая цепочка, и она воспроизведена ниже. Наиболее важная строка — Agent hijack: в четырёх из пяти случаев продемонстрированным результатом была не кража данных, а контроль над агентом, который мог действовать от имени пользователя внутри сессий, где выполнен вход.

Impact table card titled 'One extension, five targets', subtitled 'Per Forever Security's own impact table, reproduced without additions.' Five columns are headed Chrome with the sub-label Gemini Live, Comet with Perplexity, Edge with Copilot, Opera with Neon, and Claude with in Chrome. Eight rows read: Local file access, Yes for Chrome and Comet and a dash for the other three; Microphone and camera, Yes for Chrome only; Agent hijack, a dash for Chrome and Yes for the other four; Browser profile leak, Yes for Chrome and Comet; Browsing history leak, Yes for Comet only; Screenshots of tabs, Yes for Chrome and Comet; Zero clicks after install, Yes in all five columns; and CVE assigned, reading 2026-0628 under Chrome, 2026-55945 under Edge and a dash elsewhere. An amber footer strip reads 'No entry in this table has been independently reproduced; the per-browser chains are the researcher's account.'

Эти цепочки для отдельных браузеров — та часть BragJack, которую не проверяла ни одна вторая сторона. BleepingComputer, Cyber Security News, Cloud Security Alliance и национальный CERT Таиланда все сообщили о раскрытии, и все они описывают механику одинаково, но каждый из них описывает отчёт Forever Security, а не проверяет его. Уведомление ThaiCERT от 21 сентября 2026 года ссылается на BleepingComputer как на источник. Таким образом, далее приводится рассказ Вейцмана о его собственном proof of concept — то есть то, что и представляет собой раскрытие, — а не независимо воспроизведённый результат.

Perplexity Comet: тестовый домен всё ещё в списке доверенных

Comet оказался худшим из пяти по собственной оценке исследователя, и причина носит структурный характер, а не является ошибкой в коде. Perplexity создала браузер, в котором агент обладает собственными разрешениями браузера, поэтому перехваченный агент наследует их все. Perplexity также проделала защитную работу, которую пропустили остальные: расширения полностью блокируются на perplexity.ai, поэтому Вайзман говорит, что блокировщики рекламы там не работают.

Уязвимость заключалась в списке источников, от которых расширение агента принимало команды. Согласно техническому описанию, в этом списке было десять записей, а не одна — perplexity.ai и его вариант с www, а также хосты testing, staging и preview на доменах perplexity.com и perplexity.ai. Защищены были только production-хосты. testing.perplexity.com всё ещё принимал контент-скрипты. Оставшимся препятствием было то, что каждый из этих доменов отвечал 302-редиректом на perplexity.ai, поэтому браузер не задерживался на тестовой странице достаточно долго, чтобы скрипт успел подключиться. Правило DNR, удаляющее заголовок Location, устраняет это препятствие, и после этого контент-скрипт может напрямую общаться с расширением агента через предоставляемый им канал обмена сообщениями runtime.

По словам Вейцмана, по запросу агент перечислял историю браузера, открывал произвольные URL-адреса, включая пути file:///, и делал снимки экрана видимых вкладок, а затем с помощью команды, запускающей агента из переданного промпта, мог делать почти всё, что мог бы пользователь. В его демонстрационном промпте Comet просили посетить perplexity.ai, суммировать последние пять писем и отправить сводку на второй адрес. Он также сообщает, что доступ через file:/// был исправлен в более раннем раскрытии Comet, но исправление учитывало регистр, поэтому FiLe:///etc/hosts всё ещё работал. Ничего из этого не фигурирует ни в одном уведомлении Perplexity; компания выплатила вознаграждение и, по данным Forever Security, устранила продемонстрированное ей поведение.

Microsoft Edge: маркетинговая страница, синтетический клик и гонка

Edge оказался единственной целью, которая дала отпор, и из пяти он наиболее поучителен. Microsoft разделила своего агента на режим «Think», который принимает промпты, и режим «Do», который действует на страницах, причём эти два намеренно не могут работать одновременно — настоящий механизм безопасности, который по самой своей конструкции исключает принудительную отправку промптов. Microsoft также усилила защиту маркетинговой страницы microsoft.com/edge, демонстрирующей агента, обусловив работу её привилегированной функции отправки промптов тремя отдельными условиями: Content-Security-Policy, который нельзя было просто удалить, поскольку при отсутствии заголовка привилегированный объект вообще не создаётся; свежий токен пользовательского жеста; и функция, которая заполняет поле промпта, а не отправляет его.

По версии Вейзмана, каждое условие было обойдено отдельным трюком. Вместо удаления CSP он расширил директиву frame-ancestors в CSP, разрешив встраивание любому сайту .com. Для токена жеста он добавил разрешение debugger в манифест и отправил синтетический клик, который Chromium воспринимает как естественный жест. Для гонки он отключил флаг agent tools, вызвал функцию отправки промпта, а затем снова включил флаг, пока агент всё ещё решал, разрешено ли ему действовать. Настройка была выключена в момент принудительной отправки промпта и включена в момент выполнения проверки разрешения. Именно этому Microsoft присвоила CVE-2026-55945.

Деньги соответствуют работе: Forever Security фиксирует $3,000 за находку в Edge Chromium и $2,000 за состояние гонки, всего $5,000 — третье место из пяти, позади $7,000 от Google и Perplexity.

Opera Neon и Claude в Chrome: два простых варианта

{{1}}Opera Neon потребовала наименьших усилий из пяти.{{/1}} Агент Opera Neon принимает команды с opera.com, и, в отличие от Google и Perplexity, которые обе заблокировали расширениям прикреплять контент-скрипты к доверенному origin своего агента, Opera не запретила расширениям прикреплять контент-скрипт к этому домену, поэтому расширение Вайзмана могло внедрить там скрипт и напрямую обратиться к каналу сообщений агента с любым угодным ему промптом. Отключение CSP сделало ту же атаку встраиваемой в невидимый фрейм на любой странице. {{2}}В его отчёте есть одна деталь, которой нет в публикациях кого-либо ещё: Opera сообщила ему, что обнаружила уязвимость независимо примерно в то же время, и всё равно выплатила вознаграждение в $900.{{/2}} Это заявление вендора, переданное исследователем, а не вывод, для которого какая-либо из сторон опубликовала доказательства.

Claude in Chrome — особый случай, потому что это расширение, а не браузер, и Forever Security прямо говорит об этом: одно расширение, эксплуатирующее другое, — меньший риск, чем расширение, эксплуатирующее браузер, в котором оно работает. Механизм представлял собой маркетинговую страницу на claude.ai, которая могла передавать произвольные промпты в боковую панель, в сочетании с контент-скриптом, который срабатывал при кликах по кнопке онбординга и считывал промпт из data-атрибута. Вейзман сам задал id и атрибут элемента body страницы, отправил синтетический клик через разрешение отладчика, и боковая панель открылась с его промптом. Anthropic оценила это как среднюю степень серьёзности, выплатила вознаграждение и, согласно Forever Security, признала компанию первой, сообщившей об этой конкретной находке. Две публикации Forever немного расходятся в сумме — $600 в основной таблице, $500 в техническом дополнении.

Что на самом деле говорят собственные записи поставщиков

Только два из пяти случаев привели к появлению публичной записи об уязвимости, и обе эти записи появились за несколько месяцев до публикации отчёта BragJack. В примечании к выпуску стабильного канала Google от 6 января 2026 года указано: «High CVE-2026-0628: Insufficient policy enforcement in WebView tag. Reported by Gal Weizman on 2025-11-23», а также названы версии 143.0.7499.192/.193 для Windows и Mac и 143.0.7499.192 для Linux. Запись в National Vulnerability Database, опубликованная 7 января 2026 года, описывает эту уязвимость как позволяющую злоумышленнику, «который убедил пользователя установить вредоносное расширение, внедрять скрипты или HTML в привилегированную страницу с помощью специально созданного расширения Chrome», классифицирует её как CWE-862 (отсутствие авторизации) и имеет оценку 8.8 по CVSS 3.1. Эта оценка не принадлежит Google: как отметил The Hacker News, она получена в результате обогащения записи со стороны CISA, а в собственной заметке Google проблема оценивается как High.

Запись Microsoft ещё уже. CVE-2026-55945, опубликованный 3 июля 2026 года, — это состояние гонки CWE-362 с оценкой CVSS 3.1, равной 4,2, уровень серьёзности — Moderate. В заявлении Microsoft о воздействии указано «Раскрытие информации», а в её собственном FAQ говорится, что раскрываемая информация — это содержимое файлов. Исправленная сборка — 150.0.4078.48, выпущенная в тот же день, а статус эксплойта в записи указан так: «Публично раскрыт: нет; эксплуатировался: нет». Ничто в этом документе не описывает агента, которого проводят по произвольным веб-сайтам, а именно такое воздействие описывает Вейзман. Оба утверждения могут быть верны одновременно: CVE охватывает состояние гонки, тогда как возможность, показанная на маркетинговой странице, была второй находкой, оплаченной отдельно, — но ни один опубликованный к настоящему времени документ поставщика не описывает сквозную цепочку.

Timeline card titled 'Five months of fixes, then one explanation', subtitled 'Both public fixes shipped months before BragJack was published.' Five markers sit on a horizontal rail. 23 NOV 2025, 'Reported to Google', noting the date in Chrome's own release-note credit for Gal Weizman. 6 JAN 2026, 'Chrome fixed', noting that 143.0.7499.192 and .193 ship and that CVE-2026-0628 was published the next day. 3 JUL 2026, 'Edge fixed', noting that CVE-2026-55945 and build 150.0.4078.48 were published the same day. 16 SEP 2026, 'BragJack published', noting two Forever Security write-ups and that this is the date the record carries. 21 to 22 SEP 2026, 'Third-party notices', noting ThaiCERT on 21 September and the Cloud Security Alliance on 22 September. The first three markers are green and the last two amber. An amber footer strip reads 'Comet, Opera Neon and Claude in Chrome have no CVE and no published fix date.'

«Ноль кликов» означает, что после установки расширения

Фраза в таблице Forever Security точна, но её легко неправильно понять. BragJack — не drive-by-атака. BleepingComputer, Cloud Security Alliance и ThaiCERT все начинают с одного и того же предварительного условия: вредоносное расширение уже должно быть установлено. Исследование показывает, что после этого дополнительный клик не нужен — расширение достигает агента на любой странице, где в данный момент находится пользователь, при этом ничего не отображается. Для Comet и Opera Neon это вообще не требовало взаимодействия; для Edge и Claude in Chrome клик, которого требовал агент, был синтезирован расширением через разрешение debugger, так что пользователь его тоже не предоставлял.

Это различие определяет реальную подверженность риску. Для атаки нужен либо пользователь, который устанавливает что-то вредоносное, либо расширение, уже пользующееся доверием в магазине и ставшее вредоносным позже, и ни то ни другое не является высоким барьером — поэтому рекомендации CSA сосредоточены на инвентаризации расширений и на том, чтобы рассматривать declarativeNetRequest и разрешения debugger как привилегированные. Именно поэтому никто не сообщал об атаке: proof of concept, требующий установки враждебного расширения, — это демонстрация возможности, а не кампания.

Форсирование промптов и связанный с ним аргумент в пользу продаж

Терминология важна, потому что она описывает, где находились средства защиты. Промпт-инъекция прячет инструкции в контенте, который модель уже читает; обучение и фильтры модели — это предполагаемый заслон. Вайцман же написал весь промпт, выбрал момент его поступления и продолжал отправлять последующие сообщения — из источника, которому агент был создан доверять. Фильтрация безопасности на уровне модели так и не становится актуальной, потому что ничто в этом обмене не выглядит как атака. Forever Security называет это принуждением промптом.

Из этого компания делает вывод, что обнаружение на конечных точках тоже не способно это увидеть, поскольку вредоносный код не выполняется: легитимному программному обеспечению дают указание сделать то, что ему разрешено. Это утверждение сопровождается рекламой продукта — Forever Security продаёт ИИ-нативный агент для конечных точек, и обе публикации в завершение рекомендуют его. Наблюдение о том, что перехваченный агент не создаёт сигнатуры вредоносного ПО, не зависит от покупки чего-либо, но это аргумент исследователя, а не измеренный результат, и ни одна независимая сторона не проверяла, обнаруживает ли эти цепочки какой-либо продукт для конечных точек.

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

Архив классифицирует эту запись как уязвимость: серьёзность — высокая, регион — глобальный, уверенность — B — документировано, но из одного или вторичного источника — не оспаривается, реальный вред не зафиксирован. Эта оценка описывает доказательства, а не серьёзность ошибок, и это разделение последовательно проходит через всю историю.

Установлено — в том смысле, что так указано в записи поставщика или в первичной записи:

• {{1}}Google выпустила исправление для Chrome 6 января 2026 года в версиях 143.0.7499.192 и .193 и указала Gal Weizman как автора отчёта от 23 ноября 2025 года{{/1}}. {{2}}Это указано в собственных примечаниях к выпуску Google, а не в изложении этого исследователя{{/2}}.

{{1}}CVE-2026-0628{{/1}} существует, имеет рейтинг High от Google и 8.8 по обогащению CISA в записи NVD, а также классифицирован как недостаточное обеспечение политики в теге WebView.

• Корпорация Microsoft опубликовала CVE-2026-55945 3 июля 2026 года как состояние гонки уровня «Средний» 4.2, приводящее к раскрытию информации, исправленное в Edge 150.0.4078.48, при этом эксплуатация зафиксирована как отсутствующая.

• Оценки SSVC от CISA в обеих записях NVD указывают «эксплуатация: отсутствует», и никто — ни поставщик, ни исследователь, ни журналист — не заявлял об атаке в реальных условиях. Это отсутствие сообщений, что не то же самое, что доказательство отсутствия, но таково состояние записей через шесть недель после публикации.

Полагаясь исключительно на аккаунт Forever Security:

• Каждая цепочка эксплойтов для отдельного браузера, включая наборы правил DNR, удаление перенаправления {{1}}testing.perplexity.com{{/1}}, последовательность на маркетинговой странице Edge и нажатие {{2}}кнопки онбординга Claude{{/2}}. CVE описывают два механизма; они не описывают эти цепочки.

• Полный список последствий для Comet — история просмотров, чтение локальных файлов, данные профиля, скриншоты — и конкретное утверждение о том, что захваченному агенту Comet можно было простым английским языком дать указание суммировать и пересылать электронную почту. BleepingComputer сообщает об этом как о демонстрации исследователя; никакое заявление Perplexity не подтверждает и не опровергает это.

• Доступ Chrome к камере и микрофону, который BleepingComputer описывает как «потенциально» достижимый, а таблица Forever указывает как достигнутый.

• Общая сумма баунти. Forever Security сообщает о примерно $20,000 у пяти вендоров; её собственные цифры по каждому продукту в сумме составляют $20,500 — арифметическое замечание, которое также сделал The Hacker News. Цифра по Claude in Chrome различается между двумя публикациями компании. Формулировка BleepingComputer «более $20,000» согласуется с любой из двух трактовок.

• То, что prompt forcing — это новый класс атак, а не название семейства ошибок авторизации. Это утверждение, задающее рамку; при этом Cloud Security Alliance — которая его приняла — описывает лежащую в основе закономерность как архитектурный пробел, общий для разных поставщиков, а не как новую технику с собственной механикой.

Три из пяти поставщиков вообще не публиковали запись об уязвимости. CSA отмечает, что Perplexity, Opera и Anthropic признали и устранили конкретную демонстрацию концепции, не выпустив бюллетеней, сопоставимых с бюллетенями Google и Microsoft, а Forever Security не указывает даты исправления для этих трёх. Независимого воспроизведения какой-либо цепочки BragJack не опубликовано; Cyber Security News и ThaiCERT обе пересказывают раскрытие информации, причём ThaiCERT ссылается на BleepingComputer.

Что изменилось после раскрытия

Для пользователей Chrome и Edge практический ответ таков: 16 сентября ничего менять не требовалось — исправления вышли в январе и июле, и у всех, у кого была установлена версия Chrome 143.0.7499.192 или более новая либо Edge 150.0.4078.48 или более новая, уязвимости уже были закрыты. Над этой хронологией стоит задуматься. Уязвимости были закрыты за несколько месяцев до того, как у техники, связавшей их воедино, появилось название, — это обычная картина скоординированного раскрытия и одновременно причина того, что заголовок звучит хуже, чем фактическое состояние с исправлениями.

Для Comet, Opera Neon и Claude in Chrome ситуация менее ясна. Каждый поставщик выплатил вознаграждение и, по данным Forever Security и CSA, устранил продемонстрированное поведение. Ни один не опубликовал рекомендацию по безопасности с привязкой к версии или дату, поэтому пользователю не с чем сверить номер сборки — есть только общая инструкция поддерживать актуальность. Рекомендация CSA для организаций: провести инвентаризацию расширений с разрешениями declarativeNetRequest или debugger, ограничить агентные браузеры профилями без аутентифицированных сессий к электронной почте, коду или финансам и спрашивать поставщиков, как они отделяют синтетический ввод от подлинного пользовательского. Совет BleepingComputer для частных пользователей проще: поддерживайте браузер в актуальном состоянии, удаляйте незнакомые расширения и относитесь к «чтению и изменению всех ваших данных на всех сайтах» как к предупреждению, которым оно и является.

Abstract illustration on a deep navy-black field: a long horizontal channel of frosted glass runs across the frame, lit from within by a cold pale-blue glow, and a single featureless rectangular slab of brushed aluminium slides along it from the left. A thin vertical plane of dark smoked glass stands across the channel, pierced by one small circular aperture. Through that aperture a narrow amber beam reaches the aluminium slab and lands on it, where the metal is etched with fine branching fracture lines. Behind the smoked-glass plane the room continues, empty and unlit. Volumetric haze, rim lighting, shallow depth of field. No text, numbers, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

Нерешённый вопрос не в том, были ли исправлены пять ошибок. А в том, было ли исправлено стоявшее за ними проектное допущение. Каждый из этих продуктов рассматривал веб-origin первой стороны как доверенное место, где привилегированный локальный агент может получать команды, — в браузере, где любое установленное расширение может переписать то, что сообщает этот origin. Forever Security утверждает, что решение — мониторинг на уровне конечных точек; CSA выступает за проверку origin, минимальные привилегии, изолированные каналы команд и неподделываемое происхождение входных данных. Ни один из пяти поставщиков публично не заявил — ни в одном документе, рассмотренном для этой статьи, — что изменил архитектуру, а не конкретный путь, по которому прошёл Вайзман.

Дата в записи — это дата объяснения, а не дата появления ошибок, и именно этот разрыв и есть суть истории. Одно расширение, два разрешения, которые блокировщики рекламы удерживали годами, и пять поставщиков, каждый из которых считал, что его собственный сайт — единственное место, где злоумышленник не смог бы закрепиться.

© 2026 OrcaRouter

Провайдерам

Управляете инференс-платформой? Разместите свои модели на OrcaRouter.

providers@orcarouter.ai

Присоединяйтесь к сообществу

Discordsupport@orcarouter.aiXLinkedInGitHubYouTube