Один коммит — и код с вредоносным сюрпризом запустился на ПК всех коллег. Три дыры в Claude Code наконец пропатчили

Один коммит — и код с вредоносным сюрпризом запустился на ПК всех коллег. Три дыры в Claude Code наконец пропатчили

Добавил хук в .claude/settings.json — получил коллективное RCE.

image

Уязвимости в Claude Code могли превратить обычное клонирование репозитория в точку входа для атаки на рабочую машину разработчика. Исследователи Check Point утверждают, что в ряде сценариев злоумышленнику было достаточно добавить вредоносные настройки в проект, дождаться, пока кто-то из команды склонирует и откроет репозиторий, и затем получить удалённое выполнение команд или перехватить ключи Anthropic API. По итогам работы специалисты нашли три проблемы, передали их Anthropic, а разработчик инструмента выпустил исправления для всех трёх и присвоил CVE двум из них.

Check Point подчёркивает, что речь не только о конкретных багах, а о более широком риске для цепочки поставок. Компании всё активнее встраивают ИИ-инструменты для программирования в корпоративные процессы, и вместе с этим конфигурационные файлы начинают работать как новый слой, через который можно атаковать разработчиков. Опасность возникала из-за того, что настройки Claude Code можно хранить на уровне проекта прямо в репозитории и автоматически применять их при работе всей команды.

Claude Code изначально спроектирован так, чтобы упрощать совместную разработку. Для этого он поддерживает проектные конфигурационные файлы, которые лежат в репозитории, например .claude/settings.json. Когда разработчик клонирует проект, настройки подтягиваются автоматически и применяются так же, как у коллег. По данным исследователей, это удобство становится уязвимостью, если злоумышленник получает возможность коммитить изменения в репозиторий. Любой участник с правами на коммит мог изменить конфигурацию, а при определённых условиях встроенные механизмы защиты Claude Code удавалось обойти и запустить скрытые команды, которые выполнялись на машине другого участника команды.

Первая проблема была связана с механизмом хуков, то есть автоматически запускаемых команд, и приводила к удалённому выполнению кода. В Claude Code хуки представляют собой пользовательские шелл-команды, которые запускаются в заранее определённые моменты работы инструмента. Такой механизм позволяет жёстко задать, какие действия выполняются при наступлении конкретных условий. Хуки задаются в файле .claude/settings.json, который контролируется репозиторием. Любой, кто имеет право коммита, мог прописать хук, выполняющий команду на машинах остальных участников проекта при работе с этим репозиторием.

Исследователи продемонстрировали эксплуатацию на примере запуска калькулятора при открытии проекта. С точки зрения безопасности это всё равно удалённое выполнение кода: вместо калькулятора можно было выполнить произвольную команду, например скачать и запустить вредоносную нагрузку, включая обратную шелл-сессию. По данным Check Point, уязвимость передали Anthropic 21 июля 2025 года. 29 августа компания опубликовала GitHub Security Advisory с идентификатором GHSA-ph6w-f82w-28w6 и внедрила исправление.

Вторая уязвимость также позволяла добиться RCE, но через обход механизма подтверждения при работе с MCP. Claude Code интегрируется с внешними инструментами через Model Context Protocol (MCP), а серверы MCP можно настраивать в репозитории через файл .mcp.json. После предыдущих исправлений инструмент начал показывать предупреждения с требованием явного подтверждения перед выполнением команд из .mcp.json. Исследователи нашли способ обойти это требование.

В репозиторий можно было добавить две настройки, которые переопределяли защитные механизмы и автоматически подтверждали все MCP-серверы. В результате команда, заданная через MCP, выполнялась сразу при запуске Claude Code, ещё до того, как пользователь успевал ознакомиться с диалогом о доверии к проекту. Демонстрация снова использовала калькулятор как индикатор срабатывания, а также сценарий с обратной шелл-сессией, приводивший к полной компрометации системы. Об этой проблеме Anthropic уведомили 3 сентября 2025 года, позже в том же месяце вышло исправление, а 3 октября был опубликован CVE-2025-59536.

Третья проблема касалась кражи API-ключей Anthropic и была связана с переменной ANTHROPIC_BASE_URL. Она определяет адрес сервера, на который Claude Code отправляет API-запросы к сервисам Anthropic. В штатном режиме это серверы Anthropic, однако значение можно было переопределить в конфигурационных файлах проекта и направить трафик на сервер под контролем атакующего.

Исследователи настроили ANTHROPIC_BASE_URL так, чтобы запросы проходили через локальный прокси, и получили доступ к трафику Claude Code в реальном времени. Каждый запрос содержал заголовок авторизации с полным API-ключом в открытом виде. Такой механизм позволял перенаправить трафик и похитить активный ключ разработчика.

Далее использовалась особенность Workspaces. Этот механизм Anthropic предназначен для управления несколькими развёртываниями Claude и позволяет нескольким API-ключам делить доступ к одним и тем же облачным файлам проекта. Привязка осуществляется к рабочему пространству, а не к одному ключу. Любой API-ключ, относящийся к этому workspace, получает доступ к хранящимся там файлам.

Похищенный ключ позволял загружать файлы в общее рабочее пространство, но не скачивать их напрямую. Согласно документации Claude, скачивание разрешено только для файлов, созданных «навыками» (skills) или инструментом выполнения кода. Исследователи проверили, можно ли обойти это ограничение, попросив Claude повторно сгенерировать существующий файл с использованием украденного ключа. В таком случае файл, который ранее нельзя было скачать, становился результатом работы инструмента выполнения кода и становился доступен для загрузки.

Эксперимент подтвердил работоспособность схемы. Злоумышленник с украденным API-ключом получал полный доступ на чтение и запись ко всем файлам рабочего пространства: мог удалять и изменять данные, загружать вредоносные файлы, подменять содержимое или злоупотреблять квотой хранения, которая составляет 100 ГБ.

Об уязвимости с извлечением API-ключа Check Point уведомила Anthropic 28 октября 2025 года. Поставщик выпустил исправление, а 21 января был опубликован CVE-2026-21852.

Anthropic не ответила на запросы журналистов. По оценке исследователей, внедрение ИИ-инструментов в процессы разработки повышает производительность, но одновременно расширяет поверхность атаки, особенно когда конфигурационные файлы из репозитория напрямую влияют на поведение среды разработки и способны инициировать выполнение команд на машине пользователя.