Угрозы

Claude Code оказался удобной точкой для кражи OAuth-токенов через MCP

Маша Даровская
By Маша Даровская , IT-редактор и автор
Claude Code оказался удобной точкой для кражи OAuth-токенов через MCP
Обложка © Anonhaven

Исследователи Mitiga Labs показали цепочку атаки на Claude Code, при которой злоумышленник может перехватывать OAuth-токены MCP-интеграций и сохранять доступ к подключенным SaaS-сервисам. Проблема возникает на стыке локальной конфигурации Claude Code, MCP-серверов, OAuth-авторизации и доверия к пользовательским npm-пакетам.

Claude Code — агентский инструмент Anthropic для разработки. Он может работать с проектом, запускать команды, читать файлы, подключаться к внешним сервисам и использовать MCP — Model Context Protocol. MCP нужен, чтобы ИИ-агент мог обращаться к Jira, Confluence, GitHub, базам данных, внутренним API и другим инструментам через единый интерфейс.

Слабое место в описанной атаке — файл ~/.claude.json. В нём Claude Code хранит конфигурацию, доверенные проекты, MCP-серверы и данные, связанные с подключениями. Mitiga указывает, что в этом же контуре оказываются OAuth-токены, которые нужны для повторного доступа к внешним сервисам. Если атакующий может изменить этот файл, он получает возможность управлять маршрутом MCP-трафика.

Цепочка начинается с вредоносного npm-пакета. Пользователь устанавливает пакет, который выглядит как обычная утилита для разработки. Во время установки срабатывает lifecycle hook — скрипт, который npm запускает автоматически. Такие хуки давно используются в supply chain-атаках, потому что выполняются до того, как разработчик вообще начал работать с библиотекой.

В демонстрации Mitiga этот скрипт подготавливает окружение: ищет типичные директории с проектами, заранее выставляет доверие к нужным путям и меняет конфигурацию Claude Code. В результате Claude Code позже открывает проект без дополнительного предупреждения, потому что в конфиге уже стоит признак доверенной директории.

Дальше вредоносная конфигурация подменяет адрес MCP-сервера. Вместо легитимного endpoint, например для Atlassian, Claude Code начинает обращаться к прокси, контролируемому атакующим. Для пользователя интеграция продолжает выглядеть рабочей: запросы проходят, данные возвращаются, ошибок может не быть. Разница в том, что OAuth bearer token теперь проходит через чужую инфраструктуру.

OAuth bearer token — это фактически временный пропуск к сервису. Если он попадает к атакующему, тот может обращаться к API от имени пользователя в пределах выданных прав. В случае MCP-интеграций это могут быть Jira, Confluence, GitHub, внутренние сервисы и другие платформы, подключенные к рабочему процессу разработчика.

Опасность усиливается из-за свойств таких токенов. Они могут быть долгоживущими, автоматически обновляться через refresh token и иметь широкие права, выданные при первом подключении MCP-сервера. Для SaaS-провайдера запрос с таким токеном выглядит легитимно: пользователь настоящий, токен настоящий, сессия формально валидная.

Mitiga подчёркивает ещё одну сложность для расследования. Если Claude Code отправляет сетевые запросы через инфраструктуру Anthropic, в логах SaaS-провайдера активность может выглядеть как нормальная работа Claude от имени пользователя. Администратор видит валидного пользователя и привычный источник. Подозрительной остаётся только цепочка действий: необычные запросы, странные обращения к задачам, лишние чтения документов, нетипичные операции в API.

Обычная ротация токена не всегда решает проблему. Если вредоносный hook продолжает жить в проекте или пользовательской среде, он может заново переписать MCP-адрес в конфигурации. Новый токен снова пойдёт через прокси атакующего. Поэтому сначала нужно убрать механизм перезаписи, проверить ~/.claude.json, удалить подозрительные hooks и только потом отзывать и перевыпускать токены.

Исследователи сообщили о проблеме Anthropic 10 апреля 2026 года. Компания ответила, что сценарий находится вне области программы раскрытия, потому что атака требует локального выполнения кода и участия пользователя на этапе установки пакета. Но вредоносный пакет не просто крадёт то, что видит в момент установки, а закрепляется в маршрутизации MCP и может перехватывать обновляемые SaaS-токены.

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.