Злоумышленники использовали старые расширения VS Code для установки шпионского ПО.

Тихое обновление старого расширения для Visual Studio Code обернулось атакой на разработчиков блокчейн-проектов. Сразу три расширения IoliteLabs для работы с Solidity внезапно получили вредоносный код и начали незаметно запускать загрузку посторонних файлов на Windows и macOS. Для многих пользователей ловушка выглядела убедительно: расширения существовали с 2018 года, давно висели в магазине и успели набрать десятки тысяч установок.
Специалисты StepSecurity выяснили, что 25 марта 2026 года расширения solidity-macos, solidity-windows и solidity-linux одновременно обновили до версии 0.1.8. До того момента проекты почти восемь лет не менялись. В сумме три расширения насчитывали около 27 500 установок, поэтому у разработчиков не возникало особых подозрений. Подмена выглядела как обычное обновление от знакомого издателя, хотя на деле учётную запись IoliteLabs, судя по признакам, скомпрометировали.
Атака была нацелена прежде всего на разработчиков смарт-контрактов и Web3-проектов. Причина проста: на рабочих машинах таких специалистов часто хранятся закрытые ключи, сид-фразы, данные кошельков, ключи доступа к облачным сервисам и токены для автоматического развёртывания. Кража таких данных может привести к прямым финансовым потерям.
Вредоносный код спрятали не в основном файле расширения, а внутри изменённой копии библиотеки pako, которую обычно используют для сжатия данных. Такой приём усложняет проверку, потому что при беглом просмотре главный файл расширения выглядит почти безобидно. Злоумышленники дополнительно запутали код несколькими способами: спрятали строки в шестнадцатеричном виде, разбили команды на части, добавили бессмысленные вычисления и убрали явные признаки вредоносной логики.
После запуска Visual Studio Code заражённое расширение срабатывало автоматически при каждом старте редактора. Для атаки не требовалось даже открывать файл Solidity. На Windows расширение загружало пакетный файл с домена rraghh.com, а затем подтягивало установщик с другого домена, oortt.com. На macOS использовался адрес cdn.rraghh.com, откуда загружались сценарий и отдельные двоичные файлы для компьютеров Intel и Apple Silicon.
На Windows цепочка завершалась установкой библиотеки, замаскированной под обновление Chrome. В системе появлялись следы с названиями ChromeUpdate и ntuser, а для запуска применяли regsvr32, штатную утилиту Windows. По названиям экспортируемых функций специалисты предполагают, что библиотека могла следить за вводом с клавиатуры, буфером обмена и другими действиями пользователя.
На macOS схема оказалась ещё сложнее. Вредоносный сценарий создавал скрытый файл .system_updater, прописывал постоянный запуск через LaunchAgent с именем com.apple.system.updater и снимал с загруженных файлов метку карантина. Такой шаг позволял обойти встроенную проверку Gatekeeper и запускать двоичные файлы без предупреждений. После входа в систему вредоносный компонент запускался снова.
Названия расширений намекали на разделение по платформам, но фактическая вредоносная нагрузка работала только на Windows и macOS. В варианте для Linux специалисты не нашли кода, который запускал бы отдельный вредоносный процесс. При этом само расширение всё равно содержало изменённую библиотеку и выглядело частью общей кампании.
Ещё один тревожный признак связан с исходным кодом. Публичный репозиторий GitHub, связанный с расширением, не содержит новых изменений для версии 0.1.8. Последние коммиты там датированы 2018 годом. Получается, обновление попало в магазин Visual Studio Code напрямую, без каких-либо видимых правок в открытом репозитории. Такой разрыв между магазином и исходниками обычно указывает не на законное обновление, а на захват учётной записи издателя.
По данным StepSecurity, вредоносная версия фактически превратила старые расширения в пустую оболочку. Прежние функции для работы с Solidity вырезали, а вместо них оставили несколько заглушек, которые лишь показывали всплывающие сообщения. Настоящая задача расширений сводилась к одному: незаметно загрузить и запустить вредоносные компоненты.
Пользователям, у которых были установлены расширения IoliteLabs, советуют немедленно удалить версии 0.1.8, проверить систему на следы заражения и считать рабочую машину скомпрометированной, если расширение запускалось после 25 марта 2026 года. После проверки стоит срочно сменить все учётные данные, которые могли храниться на устройстве: ключи кошельков, данные доступа к GitHub, npm, облачным платформам и другим сервисам.