Вредоносное расширение VS Code скрывало атаку в npm-зависимости

30 июня 2026 года было выявлено вредоносное расширение VS Code ascii-fetcher.ascii-fetcher. Его основная функциональность находилась не в точке входа расширения, а в транзитивной зависимости npm. Такой подход позволяет обходить проверки, которые преимущественно анализируют файл extension.js.

Вредоносная логика находилась в node_modules

Расширение выглядело безобидным. Код его точки входа был небольшим и не содержал явно подозрительного поведения. При этом вредоносный код находился в модуле node_modules/@jaymara/jsononifier.

Файл index.js этого модуля импортировал trigger.js. Он определял, должна ли выполняться вредоносная ветвь, после чего вызывал Executer.js. Такая структура отделяла видимую функциональность расширения от логики выполнения. Из-за этого ручной анализ исходного кода и поверхностное статическое сканирование становились менее эффективными.

Активация зависела от среды выполнения

Согласно отчету, выполнение контролировалось проверками anti-analysis. Вредоносная логика была настроена на активацию только в нормальной пользовательской среде Windows.

Такой механизм мог препятствовать появлению полезной нагрузки во время базового анализа или в средах, отличных от Windows. В результате поведение расширения могло отличаться в зависимости от условий, в которых оно запускалось.

Индикаторы и результаты поиска

С образцом были связаны несколько технических индикаторов:

  • строка xorkey123;
  • использование Buffer.alloc;
  • комментарий со ссылкой на полезную нагрузку calc.exe.

Эти артефакты вошли в кластер для ретроспективного поиска по локальным артефактам и истории сканирования. Дополнительных совпадений обнаружено не было. Это указывает на изолированный характер образца, а не на его принадлежность к более широкой кампании.

Зависимости расширений требуют отдельной проверки

Вредоносная зависимость была удалена из публичного реестра npm. Инцидент показывает риск доверия к точкам входа расширений или пакетам marketplace без проверки транзитивных зависимостей.

Фактическое поведение расширения VS Code может формироваться вложенными npm-модулями. При этом механизмы контроля выполнения способны скрывать полезную нагрузку во время базового анализа или при запуске в средах, отличных от Windows.

Выявить скрытое поведение помогло сочетание кросс-версионного анализа поведения и инспекции графа зависимостей.

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

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

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