activate: ключ Ed25519 дописывается в ~/.ssh/authorized_keys, права 0700/0600.Phorion опубликовала разбор бэкдора в официальном расширении Claude Code для VS Code — в том бандле, что лежал на Cursor Marketplace. Номер сборки — 2.1.313. Внутрь минифицированного extension.js вклеили IIFE-префикс: он подтягивает child_process, fs, os, path, http и crypto и выстреливает в момент, когда Node грузит файл, ещё до штатного activate. Нажимать ничего не нужно — расширение встало, payload уже работает.
Дальше механика простая и потому неприятная. Код создаёт ~/.ssh, дописывает в authorized_keys публичный ключ Ed25519 атакующей стороны с комментарием svc-telemetry, ставит 0700 на каталог и 0600 на файл. Потом пытается поднять демон: на Linux — systemctl для sshd/ssh с откатом на service и /etc/init.d/, на Windows — установка и запуск OpenSSH Server через PowerShell, на macOS — проверка Remote Login и sudo -n systemsetup -setremotelogin on. Наличие ключа проверяется по строке svc-telemetry, а не по самому ключу, — при охоте лучше сверять отпечаток.
На macOS логика спотыкается сама о себя. Под обычным пользователем systemsetup -getremotelogin печатает ошибку доступа и выходит со статусом 0, а не с Off. Скрипт включает SSH только при точном совпадении с Off — шаг просто пропускается. Ключ и персистентность при этом остаются на месте, а разведка хоста всё равно уходит оператору.
Наша оценка: это история не про Claude Code как продукт, а про цепочку поставки. Расширения запускаются с правами IDE и правами пользователя — то есть получают файлы, исходники, терминал и ключи сразу после загрузки модуля. Агентные расширения для кода просят ровно этот доступ по своей природе, и отличить нормальную работу от чужой вставки глазами невозможно.
Что меняет: привычка «поставил из маркетплейса и забыл» больше не бесплатная. Для команды это часы на инцидент-респонс: обойти парк, проверить authorized_keys, отозвать ключи, перевыпустить токены. Для площадок — вопрос модерации и подписи бандлов, а не только счётчика установок.
Кто выигрывает: Phorion — разбор HN-топ, а в самом тексте она попутно сообщает, что заняла первое место в независимых EDR-оценках, так что маркетинг тут бесплатный. Кто проигрывает: Cursor как хост маркетплейса и бренд Claude Code, на который смотрит подозрение первым делом.
Слабых мест хватает. Непонятно, как именно в бандл попал вредоносный код, кто его автор и сколько установок затронуто. Нет ни слова о подтверждённых компрометациях и о том, проверял ли кто-то сборку до публикации. В тексте нет реакции Cursor и Anthropic — снятие релиза описано со слов Phorion. Источник один, это вендорский блог с понятным коммерческим интересом.
Стоит ли ставить IDE-расширения из альтернативного маркетплейса вроде Cursor, если тот же пакет лежит в VS Code Marketplace, — или любой дубль канала уже риск?
Кто отвечает за такой инцидент: площадка, которая разместила бандл, или владелец бренда расширения, чьё имя стояло на упаковке?
Достаточно ли проверки отпечатков в authorized_keys как практики, или IDE-маркетплейсам пора вводить обязательную подпись и аттестацию сборок?
Прогноз: в течение квартала ждём публичного заявления Cursor или Anthropic с таймлайном и списком затронутых версий. Если его не будет, история останется в статусе «один вендор сказал».
Дисклеймер: официально не подтверждено, источник один — вендорский блог.
Источник: Phorion
Источник: phorion.io · пост в Telegram