Расширение Claude for Chrome, доступное всем платным подписчикам Anthropic в статусе «бета», содержит брешь, которая позволяет любому другому браузерному расширению с доступом к скриптам на подделывать действия пользователя. Через эту подделку сторонний код может заставить Claude прочитать почту в Gmail, последний открытый документ в Google Docs вместе с комментариями к нему и записи в календаре — причём без реального участия человека, который сидит за компьютером.
Исследователи из Manifold Security сообщили о проблеме Anthropic 21 мая, когда актуальной была версия расширения 1.0.72. Компания отреагировала на следующий день, 22 мая. Но когда 7 июля Manifold скачала из Chrome Web Store обновлённую версию 1.0.80 и разобрала все 90 JavaScript-бандлов внутри неё, обработчик кликов в контент-скрипте и код инициализации боковой панели оказались побайтово идентичны тому, что было в исходно найденной версии. По состоянию на 14 июля публичного ответа от Anthropic так и не последовало, CVE не присвоен ни одной из двух уязвимостей, официального advisory тоже нет.
История уходит корнями в конец апреля, когда команда LayerX обнаружила проблему, получившую название ClaudeBleed. Суть в классической ошибке «confused deputy» — программа с реальными полномочиями выполняет действия от имени не того, кто её об этом попросил. Расширение Claude for Chrome доверяло происхождению как таковому, вместо того чтобы проверять, какой именно скрипт с ним общается. В мае Anthropic попыталась закрыть эту дыру, ограничив произвольные вызовы девятью зафиксированными идентификаторами задач, вшитыми прямо в бандл расширения. LayerX прямо указала, что первая попытка исправления оказалась неполной.
Список из девяти разрешённых задач выглядит так: три обучающих прогон-примера при онбординге, три готовых сценария под конкретные сервисы — DoorDash, Salesforce и Zillow, и три задачи, работающие с чувствительными данными пользователя: usecase-gmail, usecase-gdocs и usecase-calendar. Именно последняя тройка стала точкой входа для новой атаки.
Механика первой уязвимости довольно простая для такой серьёзной цели. Контент-скрипт на слушает клики по элементу с идентификатором claude-onboarding-button и считывает атрибут data-task-id этого элемента. Если значение совпадает с одним из девяти разрешённых идентификаторов, скрипт отправляет сообщение open_side_panel, запускающее задачу. Проблема в том, что обработчик никогда не проверяет флаг event.isTrusted — тот самый признак, которым браузер отличает настоящий клик пользователя от клика, сгенерированного скриптом.
В Manifold Security это продемонстрировали шестью строками кода, вставленными прямо в консоль браузера на странице . Логи показали isTrusted: false, но поддельный клик всё равно был принят системой как настоящий. По шкале CVSS команда оценила проблему в 7.7 балла («высокая опасность») для режима «спрашивать перед действием», когда пользователю всё же нужно нажать кнопку подтверждения, и в 9.6 балла («критическая опасность») для режима «действовать без вопросов», где задача выполняется молча, без единого запроса. Сама Manifold назвала исправление «однострочным» — достаточно отклонять синтетические клики на входе в обработчик. Но по данным на момент отчёта это исправление так и не вышло.
Вторая уязвимость связана с параметром в URL. Когда боковая панель Claude загружается по адресу с параметром?skipPermissions=true, она сразу переходит в режим skip_all_permission_checks — то есть начинает действовать без единого жеста пользователя и без экрана согласия. Красный предупреждающий баннер, сообщающий, что Claude теперь может совершать почти любые действия в сети, появляется — но уже после того, как привилегированная сессия запущена. Сегодня этот URL нельзя собрать откуда-то извне, только само расширение имеет к нему доступ. Но если какая-то будущая уязвимость откроет этот параметр менее привилегированному контексту — через обработчик сообщений, принимающий URL, регрессию при построении панели или XSS в странице настроек — комбинация с поддельным кликом даст полностью бесшумное чтение аккаунта пользователя. Manifold рекомендует вообще перестать читать режим разрешений из URL и всегда загружать панель в режиме запроса подтверждения.
С точки зрения классификации OWASP Top 10 для LLM-приложений первая проблема относится к категории Indirect Prompt Injection, вторая — к Excessive Agency. Обе воспроизводятся независимо от того, какая модель загружена в боковой панели — Opus, Sonnet или Fable. Ошибка сидит в самом расширении, а не в модели.
Хронология переписки с Anthropic выглядит противоречиво. Отчёт о поддельном клике компания закрыла, сославшись на то, что базовая проблема с границей доверия уже отслеживается в рамках более раннего отчёта о ClaudeBleed, который «остаётся открытым в ожидании полного исправления». Отчёт про URL-параметр закрыли с пометкой «информативный» — Anthropic посчитала, что параметр устанавливается только самим расширением для задач, которые пользователь уже разрешил выполнять без присмотра. При этом до 9 июня внутренний тикет, который должен был отражать исправление, был помечен как «решённый». Проверка от 7 июля это опровергла.
Это не первый подобный случай в истории продукта. Ранее в 2025 году был закрыт отдельный баг, позволявший любому сайту незаметно внедрять инструкции в расширение через промпт-инъекцию. А в Claude Code недавно нашли уязвимость, из-за которой враждебный код-репозиторий мог вытащить у разработчика API-ключи Anthropic — похожий паттерн отказа одной и той же модели доверия.
До появления настоящего патча пользователям остаётся вручную отключить режим «действовать без вопросов» и проверить разрешения всех расширений, имеющих доступ к чтению и записи данных на . Это восстанавливает шаг подтверждения, но саму уязвимость с поддельным кликом не устраняет.
По сути обе находки бьют в одну и ту же границу доверия: Claude принимает клик, сгенерированный скриптом, за настоящее намерение человека, и при этом состояние разрешений можно задать через параметр в адресной строке. Восемь версий подряд, от 1.0.72 до 1.0.80, эта граница остаётся ровно там же, где её обнаружила команда Manifold Security в мае.
Исследователи из Manifold Security сообщили о проблеме Anthropic 21 мая, когда актуальной была версия расширения 1.0.72. Компания отреагировала на следующий день, 22 мая. Но когда 7 июля Manifold скачала из Chrome Web Store обновлённую версию 1.0.80 и разобрала все 90 JavaScript-бандлов внутри неё, обработчик кликов в контент-скрипте и код инициализации боковой панели оказались побайтово идентичны тому, что было в исходно найденной версии. По состоянию на 14 июля публичного ответа от Anthropic так и не последовало, CVE не присвоен ни одной из двух уязвимостей, официального advisory тоже нет.
История уходит корнями в конец апреля, когда команда LayerX обнаружила проблему, получившую название ClaudeBleed. Суть в классической ошибке «confused deputy» — программа с реальными полномочиями выполняет действия от имени не того, кто её об этом попросил. Расширение Claude for Chrome доверяло происхождению как таковому, вместо того чтобы проверять, какой именно скрипт с ним общается. В мае Anthropic попыталась закрыть эту дыру, ограничив произвольные вызовы девятью зафиксированными идентификаторами задач, вшитыми прямо в бандл расширения. LayerX прямо указала, что первая попытка исправления оказалась неполной.
Список из девяти разрешённых задач выглядит так: три обучающих прогон-примера при онбординге, три готовых сценария под конкретные сервисы — DoorDash, Salesforce и Zillow, и три задачи, работающие с чувствительными данными пользователя: usecase-gmail, usecase-gdocs и usecase-calendar. Именно последняя тройка стала точкой входа для новой атаки.
Механика первой уязвимости довольно простая для такой серьёзной цели. Контент-скрипт на слушает клики по элементу с идентификатором claude-onboarding-button и считывает атрибут data-task-id этого элемента. Если значение совпадает с одним из девяти разрешённых идентификаторов, скрипт отправляет сообщение open_side_panel, запускающее задачу. Проблема в том, что обработчик никогда не проверяет флаг event.isTrusted — тот самый признак, которым браузер отличает настоящий клик пользователя от клика, сгенерированного скриптом.
В Manifold Security это продемонстрировали шестью строками кода, вставленными прямо в консоль браузера на странице . Логи показали isTrusted: false, но поддельный клик всё равно был принят системой как настоящий. По шкале CVSS команда оценила проблему в 7.7 балла («высокая опасность») для режима «спрашивать перед действием», когда пользователю всё же нужно нажать кнопку подтверждения, и в 9.6 балла («критическая опасность») для режима «действовать без вопросов», где задача выполняется молча, без единого запроса. Сама Manifold назвала исправление «однострочным» — достаточно отклонять синтетические клики на входе в обработчик. Но по данным на момент отчёта это исправление так и не вышло.
Вторая уязвимость связана с параметром в URL. Когда боковая панель Claude загружается по адресу с параметром?skipPermissions=true, она сразу переходит в режим skip_all_permission_checks — то есть начинает действовать без единого жеста пользователя и без экрана согласия. Красный предупреждающий баннер, сообщающий, что Claude теперь может совершать почти любые действия в сети, появляется — но уже после того, как привилегированная сессия запущена. Сегодня этот URL нельзя собрать откуда-то извне, только само расширение имеет к нему доступ. Но если какая-то будущая уязвимость откроет этот параметр менее привилегированному контексту — через обработчик сообщений, принимающий URL, регрессию при построении панели или XSS в странице настроек — комбинация с поддельным кликом даст полностью бесшумное чтение аккаунта пользователя. Manifold рекомендует вообще перестать читать режим разрешений из URL и всегда загружать панель в режиме запроса подтверждения.
С точки зрения классификации OWASP Top 10 для LLM-приложений первая проблема относится к категории Indirect Prompt Injection, вторая — к Excessive Agency. Обе воспроизводятся независимо от того, какая модель загружена в боковой панели — Opus, Sonnet или Fable. Ошибка сидит в самом расширении, а не в модели.
Хронология переписки с Anthropic выглядит противоречиво. Отчёт о поддельном клике компания закрыла, сославшись на то, что базовая проблема с границей доверия уже отслеживается в рамках более раннего отчёта о ClaudeBleed, который «остаётся открытым в ожидании полного исправления». Отчёт про URL-параметр закрыли с пометкой «информативный» — Anthropic посчитала, что параметр устанавливается только самим расширением для задач, которые пользователь уже разрешил выполнять без присмотра. При этом до 9 июня внутренний тикет, который должен был отражать исправление, был помечен как «решённый». Проверка от 7 июля это опровергла.
Это не первый подобный случай в истории продукта. Ранее в 2025 году был закрыт отдельный баг, позволявший любому сайту незаметно внедрять инструкции в расширение через промпт-инъекцию. А в Claude Code недавно нашли уязвимость, из-за которой враждебный код-репозиторий мог вытащить у разработчика API-ключи Anthropic — похожий паттерн отказа одной и той же модели доверия.
До появления настоящего патча пользователям остаётся вручную отключить режим «действовать без вопросов» и проверить разрешения всех расширений, имеющих доступ к чтению и записи данных на . Это восстанавливает шаг подтверждения, но саму уязвимость с поддельным кликом не устраняет.
По сути обе находки бьют в одну и ту же границу доверия: Claude принимает клик, сгенерированный скриптом, за настоящее намерение человека, и при этом состояние разрешений можно задать через параметр в адресной строке. Восемь версий подряд, от 1.0.72 до 1.0.80, эта граница остаётся ровно там же, где её обнаружила команда Manifold Security в мае.