Исследователи из Yeeth Security обнаружили вредоносное расширение Solidity Pro для Microsoft Visual Studio Code, которое, маскируясь под инструмент для разработчиков смарт-контрактов на Solidity, похищает криптовалютные кошельки, токены доступа к облачным сервисам, SSH-ключи и учётные данные из браузеров. Расширение распространялось под идентификаторами helper-beeps.solidity-pro и web3devtoolsx.solidity-pro. Разработчикам, которые устанавливали любое из этих расширений, необходимо немедленно удалить их, провести ротацию всех потенциально скомпрометированных секретов и проверить системы на наличие следов компрометации.
Эволюция вредоносного кода: от загрузчика к полноценному стилеру
По данным исследователей, вредоносная активность развивалась поэтапно. Ранние версии расширения — с 1.0.0 по 2.4.x — обращались к эндпоинтам Cloudflare Workers для загрузки и выполнения зашифрованного Python-пейлоада. Начиная с версии 3.0.0, расширение трансформировалось в полноценный инфостилер с расширенным перечнем целей.
Как сообщается, стилер собирает следующие категории данных:
- Токены систем контроля версий: GitHub (
ghp_,github_pat_), GitLab (glpat-) - Облачные учётные данные: ключи и сессионные токены AWS, токены Cloudflare (
cfat_) - Ключи API: OpenAI (
sk-,sk-proj-,sk-ant-) - Криптовалютные кошельки: хранилища MetaMask, Phantom, Rabby, Coinbase, Trust, Keplr
- Криптографические секреты: мнемонические и сид-фразы, Bitcoin WIF/xprv
- SSH-ключи, токены Telegram-ботов, учётные данные из URL и MFA-токены 1Password
Собранные данные, по данным исследователей, эксфильтруются через загрузку в Telegram-бот. Репозиторий web3devtoolsx/solidity-pro на GitHub на момент публикации исследования оставался публично доступным.
Техники обхода обнаружения
Особого внимания заслуживает многоуровневая система уклонения от обнаружения, применяемая авторами расширения. По данным Yeeth Security, используются три ключевых приёма:
- Тяжёлая обфускация: строки разбиваются по таблицам IIFE (Immediately Invoked Function Expression) и собираются только во время выполнения. Имена методов меняются между релизами, что делает сигнатурное обнаружение неэффективным.
- Промежуточные «чистые» версии: между вредоносными обновлениями публикуются безвредные версии для формирования доверия у пользователей и систем проверки маркетплейса.
- Рандомизированная отложенная активация: вредоносный код запускается спустя несколько часов или дней после установки. К моменту активации автоматические сканеры, наблюдающие за пакетом лишь несколько минут, уже завершают проверку.
Связь с другими вредоносными кампаниями
Исследователи Yeeth Security отмечают, что активность Solidity Pro имеет общие тактические паттерны с кластером угроз WhiteCobra, который был зафиксирован в сентябре 2025 года при распространении стилера Lumma Stealer через вредоносные расширения VS Code. Следует подчеркнуть, что эта связь основана на оценке единственного исследовательского источника и не подтверждена независимо.
Solidity Pro — далеко не единичный случай. В июне 2026 года та же исследовательская группа выявила расширение ethdevtools.solidity-language-support, которое имитировало инструмент поддержки языка Solidity для разработчиков Ethereum. Это расширение содержало стилер буфера обмена с отложенной активацией: при обнаружении криптовалютного адреса в буфере обмена он подменялся адресом злоумышленника через легитимный API vscode.env.clipboard.writeText. Использование штатного API означает, что статические сканеры, проверяющие только импорт опасных модулей Node.js, не обнаруживают такую подмену.
Параллельно были обнаружены и другие вредоносные компоненты экосистемы VS Code и npm:
- npm-пакет ascii-fetcher с вредоносной зависимостью
@jaymara/jsononifier, выполняющей встроенные команды черезchild_process.exec - Набор из 10 расширений VS Code, доставляющих дропперы на основе BAT, JavaScript и HTA
- Расширение DigitalBarberTrim.html-entity-codec, устанавливающее удалённый VSIX-файл после перечисления форков VS Code (Cursor, Windsurf, Codium, Positron)
Оценка воздействия
Основная группа риска — разработчики Web3 и блокчейн-проектов, активно использующие Solidity и работающие с криптовалютными кошельками. Однако масштаб похищаемых данных выходит далеко за рамки криптовалютной сферы: компрометация ключей AWS, SSH, токенов GitHub и GitLab может привести к несанкционированному доступу к облачной инфраструктуре, репозиториям исходного кода и CI/CD-конвейерам. Похищение ключей OpenAI создаёт риск финансовых потерь от несанкционированного использования платных API.
Отсутствие официальных уведомлений от Microsoft или Open VSX о данных расширениях означает, что масштаб распространения и количество пострадавших пользователей остаются неизвестными.
Практические рекомендации
- Немедленное удаление: деинсталлируйте расширения
helper-beeps.solidity-proиweb3devtoolsx.solidity-pro, а также проверьте наличие других упомянутых вредоносных расширений. - Ротация секретов: замените все токены GitHub, GitLab, AWS, Cloudflare, OpenAI и Telegram, которые могли быть доступны на скомпрометированной машине. Сгенерируйте новые SSH-ключи.
- Проверка криптокошельков: если на машине использовались MetaMask, Phantom, Rabby, Coinbase, Trust или Keplr — считайте мнемонические фразы и приватные ключи скомпрометированными. Переведите средства на новые кошельки, созданные на заведомо чистом устройстве.
- Мониторинг процессов: настройте оповещения на запуск
cscript,mshta,cmd,curlиpowershellиз контекста VS Code. - Аудит зависимостей: проверьте граф зависимостей установленных расширений и npm-пакетов. Обратите внимание на хуки
postinstallв зависимостях. - Политика установки расширений: ограничьте перечень допустимых расширений VS Code в корпоративной среде. Используйте списки разрешённых расширений вместо свободной установки.
Кампания Solidity Pro демонстрирует зрелую модель атаки на цепочку поставок через IDE-расширения: поэтапное наращивание вредоносной функциональности, обход автоматизированных проверок маркетплейса и целенаправленный сбор высокоценных секретов разработчиков. Организациям, чьи разработчики работают с VS Code и его форками, следует провести аудит установленных расширений, внедрить политику ограничения установки из непроверенных источников и выполнить ротацию всех секретов на машинах, где обнаружены подозрительные расширения.