Троян в расширениях VS Code: скрытые PNG и node_modules

Недавнее исследование выявило сложную кампанию, в которой злоумышленники разместили на Visual Studio Code (VS Code) Marketplace 19 вредоносных расширений. Атака использовала нетривиальные приёмы маскировки: злоумышленники встраивали вредоносные компоненты в структуры, внешне напоминающие легитимные пакеты, и прятали исполняемый код внутри файлов формата PNG. Это свидетельствует о росте атак на цепочку поставок ПО и о переходе злоумышленников к более изощрённым тактикам.

Ключевые находки

  • Вредоносные расширения — 19 экземпляров — были опубликованы в VS Code Marketplace и содержали модифицированную структуру пакета.
  • Внутри расширений обнаруживалась папка node_modules, имитирующая привычную структуру npm-пакетов, но с изменённым главным скриптом.
  • Файл index.js был подменён: в него внедрён новый класс, инициирующий вредоносное поведение и устанавливающий связь с «скрытым» исполняемым кодом.
  • Сам исполняемый код был замаскирован под изображение PNG; расшифровка этого файла выявила JavaScript-дроппер, раскрывающий механику кампании.

Как работала кампания

Атакующие использовали знакомые разработчикам паттерны и инфраструктуру, чтобы снизить подозрительность расширений. Последовательность действий выглядела примерно так:

  • Создание расширения, внешне похожего на легитимный пакет (наличие папки node_modules, корректные метаданные).
  • Подмена основного скрипта — index.js — для внедрения нового класса, который запускает дальнейшие этапы загрузки и исполнения.
  • Хранение вредоносного бинарного компонента внутри файла формата PNG, что позволяет обойти простые проверки целостности или фильтрации по типам файлов.
  • Дешифровка/распаковка PNG на стороне пользователя с последующей загрузкой или выполнением вредоносного кода (JavaScript-дроппер).

«вредоносные двоичные файлы в тип файла, который обычно воспринимается как безвредный»

Этот приём эксплуатирует доверие разработчиков к распространённым форматам и инструментам: PNG-файлы и структура npm-пакета редко вызывают подозрение у пользователей и автоматических сканеров.

Почему это опасно

Результат такой подмены — прямое выполнение вредоносного кода в среде разработчика или на CI/CD-инфраструктуре. Последствия включают:

  • компрометацию рабочих машин разработчиков;
  • распространение вредоносного ПО по цепочке поставок;
  • утечку учётных данных и секрентов;
  • возможность дальнейшего распределённого развёртывания в целевых инфраструктурах.

Рекомендации по защите

Исходя из обнаруженных методов, эксперты советуют предпринять следующие шаги:

  • Проверять издателя и популярность расширения перед установкой в VS Code Marketplace.
  • Ограничивать привилегии расширений и по возможности использовать политики организации для контроля установок.
  • Проводить аудит содержимого расширений: просматривать node_modules и основной скрипт (index.js) на предмет неожиданных классов и сетевых вызовов.
  • Использовать средства статического и динамического анализа для поиска зашифрованных/встроенных бинарников в нестандартных типах файлов (включая PNG).
  • Обновлять и настраивать EDR/AV так, чтобы они могли детектировать поведенческие индикаторы загрузчиков и дропперов.
  • Внедрять контроль цепочек поставок: подписывание пакетов, проверка целостности и мониторинг необычных зависимостей.

Вывод

Эта кампания демонстрирует, что злоумышленники становятся изощрённее: они целенаправленно атакуют доверенные экосистемы разработчиков и маскируют вредоносный код в форматах, которые редко проверяются. Рост подобных инцидентов подчёркивает необходимость комбинированного подхода — повышение осведомлённости разработчиков, жёсткий контроль установок и внедрение современных механизмов обнаружения и защиты. Без этого риск компрометации проектов и инфраструктур остаётся высоким.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: