← На главную

Phorion нашла бэкдор в расширении Claude Code 2.1.313

30.10.2026 07:09 · hackernews

Phorion обнаружила вредоносный код в официальном bundle расширения Claude Code for VS Code версии 2.1.313, опубликованном на Cursor Marketplace. По данным исследователей, модифицированный extension.js запускался при загрузке Node.js ещё до обычной функции activate, поэтому заражение не требовало дополнительных действий пользователя. Расширение получало права IDE и текущего пользователя, включая доступ к исходному коду и локальным инструментам разработчика. Cursor убрал релиз из Marketplace, а соответствующие версии NPM и VS Code также были изъяты из реестров.

Вредоносная часть была рассчитана на macOS, Linux и Windows. Она добавляла публичный SSH-ключ оператора в authorized_keys, пыталась включить SSH-сервер и устанавливала обратный туннель к внешнему серверу. Это позволяло организовать интерактивный удалённый доступ и передачу файлов без отдельного сложного командного протокола в JavaScript. Для сохранения доступа использовались пользовательский LaunchAgent на macOS, cron на Linux, а на Windows — scheduled task или автозагрузка.

На macOS исследователи нашли ошибку, ограничивающую часть атаки. Проверка Remote Login запускалась без прав администратора и возвращала сообщение о недостатке доступа, а не состояние Off. Скрипт неверно воспринимал это как уже включённый SSH и не пытался активировать службу. Если Remote Login изначально был выключен, входящий доступ не работал, хотя ключи, persistence и передача сведений оператору всё равно устанавливались. Phorion подчёркивает, что полагаться на эту ошибку как на защиту нельзя.

Отдельный beacon передавал имя хоста и пользователя, платформу, архитектуру, рабочие каталоги, глобальный Git email, публичный IP и статусы этапов. Также отправлялись до 40 имён переменных окружения, похожих на KEY, TOKEN, SECRET, PASS, AWS или GCP. Их значения в этом отчёте не передавались, но сам список помогал выбирать перспективные машины.

Phorion рекомендует организациям найти все установки 2.1.313 и провести incident response. Простого удаления расширения недостаточно: нужно проверить активные туннели, автозагрузку, изменения authorized_keys, временные ключи и признаки фактических SSH-входов. При подтверждённом доступе следует заменить учётные данные и токены, доступные затронутому пользователю. Для обнаружения полезны файловая телеметрия записи IDE-процессов в SSH-конфигурацию, необычные LaunchAgent и исходящие SSH-соединения; одной проверки shell-команд недостаточно.

Читать оригинал →