Microsoft удалила два популярных расширения VSCode с 9 миллионами установок из-за угроз безопасности

2025-02-27 634 комментарии
Microsoft удалила два популярных расширения для VSCode — Material Theme – Free и Material Theme Icons – Free — из-за угроз безопасности. Специалисты обнаружили в них вредоносный код, а разработчик утверждает, что проблема связана с устаревшей зависимостью. Рекомендуется удалить затронутые расширения

Microsoft удалила два популярных расширения для VSCode — Material Theme – Free и Material Theme Icons – Free — из Visual Studio Marketplace, якобы из-за наличия вредоносного кода.

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

Разработчик, Маттиа Асторино (Mattia Astorino) (известный как equinusocio), опубликовал несколько расширений в магазине расширений VSCode Marketplace, общее число установок которых превышает 13 миллионов.

Сообщения о том, что расширения являются вредоносными, поступили от специалистов по кибербезопасности, обладающих опытом сканирования расширений VSCode на наличие вредоносного кода. В опубликованном отчете исследователи заявили, что обнаружили подозрительный код в расширениях и сообщили о своих находках Microsoft.

В сообщении сотрудника Microsoft на YCombinator's Hacker News говорится:

Microsoft удалила оба расширения из VS Code Marketplace и заблокировала разработчика.

Один из участников сообщества провел глубокий анализ безопасности расширения, обнаружил множество тревожных сигналов, указывающих на злонамеренные активности, и сообщил нам об этом. Наши специалисты по безопасности из Microsoft подтвердили эти утверждения и нашли дополнительный подозрительный код.

Мы заблокировали издателя на VS Marketplace, удалили все его расширения и деинсталлировали их из всех установок VS Code, где они были активны. Для ясности — удаление было связано не с вопросами авторских прав или лицензий, а исключительно с потенциально злонамеренными действиями.

Исследователи сообщили, что их специализированный сканер обнаружил вредоносную активность в коде расширения. Один из исследователей считает, что вредоносный код был внедрен в обновлении расширения, что может свидетельствовать либо о атаке на цепочку поставок через зависимость, либо о компрометации аккаунта разработчика.

Кроме того, специалисты пояснили, что темы должны представлять собой статичные JSON-файлы и не должны выполнять никакой код, поэтому такое поведение было помечено как подозрительное.

Файлы «release-notes.js» в теме содержат сильно обфусцированный JavaScript, что всегда является тревожным сигналом для ПО с открытым исходным кодом.

Частичная деобфускация кода показала многочисленные ссылки на имена пользователей и пароли. Однако, поскольку файл все еще сильно обфусцирован, сложно определить, каким образом они упоминаются.

Microsoft заявила, что в ближайшее время опубликует дополнительные подробности об этом расширении и обнаруженной вредоносной активности в репозитории GitHub VSMarketplace.

Маттиа Асторино ответил на вопросы о том, что расширения являются вредоносными, заявив, что проблемы вызваны устаревшей зависимостью Sanity.io, которая «выглядит скомпрометированной».

В GitHub-репозитории VSMarketplace Асторино сообщил:

В Material Theme никогда не было ничего вредоносного.

У нас была лишь устаревшая зависимость от sanity.io, используемая с 2016 года для отображения заметок о релизах из headless CMS sanity, и это была единственная обнаруженная проблема.

Эта зависимость присутствует с 2016 года и проходила все проверки до сих пор, теперь она выглядит скомпрометированной, но НИКТО из Microsoft не связался с нами, чтобы удалить ее. Они просто удалили все, что вызвало проблемы у миллионов пользователей и привело к зацикливанию в VSCode (да, это их вина).

Они все сломали, так и не обратившись к нам за разъяснениями. Удаление старой зависимости — быстрое решение за 30 секунд, но, похоже, так работает Microsoft. Мы также поставляем обфусцированный файл index.js, содержащий все команды и логику темы. Он обфусцирован, потому что расширение теперь имеет закрытый исходный код. Однако, если вы его удалите, расширение продолжит работать с простыми JSON-файлами.

До выяснения ситуации рекомендуется удалить из всех проектов следующие расширения:

  • equinusocio.moxer-theme
  • equinusocio.vsc-material-theme
  • equinusocio.vsc-material-theme-icons
  • equinusocio.vsc-community-material-theme
  • equinusocio.moxer-icons

Позже разработчик Astorino опубликовал, как он утверждает, «полностью переписанное расширение» без каких-либо зависимостей под названием Fanny Themes в VSCode Marketplace, которое Microsoft впоследствии удалила.

В ответ на вопросы о зашифрованном файле release-notes.js, Astorino повторил то, что выложил на GitHub, заявив, что зависимость @sanity была скомпрометирована и могла бы быть быстро удалена, если бы ему об этом сообщили.

Асторино пояснил:

Файл с заметками о релизах был создан и использовался для формирования веб-интерфейса, отображающего изменения из sanity.io, headless CMS, еще в 2016 году.

С тех пор я к нему не прикасался, так как сосредоточился на новой версии расширения. Единственное вредоносное в нем — старая (и единственная) зависимость @sanity, которая была скомпрометирована. Но я об этом не знал.

© . По материалам Bleepingcomputer
Комментарии и отзывы

Нашли ошибку?

Новое на сайте