В расширении Claude Code для VS Code нашли вредоносную нагрузку
В расширении Claude Code для VS Code версии 2.1.313, опубликованном на Open VSX, обнаружили внедрённую полезную нагрузку. Она находилась в начале файла extension.js и запускалась при загрузке модуля, до стандартного обратного вызова активации расширения. Код использовал модули Node.js для доступа к хост-системе и выполнения команд. Выпуск удалили с Open VSX, а версию 2.1.313 также сняли с реестров NPM и VS Code.
Полезная нагрузка пытается включить SSH на macOS, Linux и Windows, не используя уязвимости для повышения привилегий. На macOS она проверяет состояние удалённого входа (Remote Login) командой systemsetup -getremotelogin и запускает sudo -n systemsetup -setremotelogin on, только если в выводе есть строка «Off». Проверка без привилегий может вернуть ошибку, требующую доступа администратора, вместо фактического состояния настройки. В таком случае код может не включить SSH на хосте, где эта функция отключена. В Linux полезная нагрузка пытается запустить службы SSH. Настройка в Windows может завершиться ошибкой: команды PowerShell вызываются через вспомогательный скрипт, в котором жёстко задан интерпретатор /bin/sh.
SSH-туннель и закрепление
Для исходящего доступа вредоносное программное обеспечение декодирует встроенный незашифрованный закрытый ключ OpenSSH Ed25519 и пытается установить обратный SSH-туннель на 134.209.82.225:22. Если доступна утилита autossh, используется она, в противном случае запускается ssh. Отсоединённый цикл повторяет попытки подключения каждые 60 секунд.
На macOS и Linux файл ~/.config/.smt содержит ключ туннеля и логику повторного подключения. Она записывает ключ в ~/.config/.smtk. На macOS скрытый скрипт запускает LaunchAgent ~/Library/LaunchAgents/com.apple.sysmond.plist. Полезная нагрузка также добавляет открытый ключ в ~/.ssh/authorized_keys, обеспечивая интерактивный доступ по SSH, если служба SSH на хосте доступна.
Проверка и реагирование
В ходе расследования рекомендуется проверять:
- версию расширения;
- процессы туннелей и соединения с указанным IP-адресом;
- изменения в файле
authorized_keys; - скрытые файлы и LaunchAgent.
Одного удаления расширения недостаточно. Специалистам по реагированию на инциденты следует завершить работу туннелей, удалить механизмы закрепления и внедрённые ключи, проверить настройки удалённого входа и обновить учётные данные, доступные затронутому пользователю, если есть признаки доступа по SSH или компрометации.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



