Компания Microsoft предприняла решительные меры по обеспечению безопасности пользователей Visual Studio Code, удалив из официального маркетплейса два широко используемых расширения: Material Theme — Free и Material Theme Icons — Free. Причиной столь радикального решения стало обнаружение потенциально вредоносного кода в этих популярных инструментах, суммарное количество загрузок которых достигло почти 9 миллионов.
Детали расследования и обнаруженные угрозы
Специалисты по информационной безопасности Амит Ассараф и Итай Крук провели тщательный анализ расширений и выявили ряд критических проблем. Основным поводом для беспокойства стало наличие подозрительного кода, внедренного через обновление, что может свидетельствовать о реализации атаки на цепочку поставок или компрометации учетной записи разработчика. Особую настороженность вызвал тот факт, что темы оформления, которые должны содержать только статические JSON-файлы, включали исполняемый код.
Технические аспекты уязвимости
В ходе исследования был обнаружен сильно обфусцированный JavaScript-код в файлах release-notes.js. Специалисты Microsoft подтвердили наличие дополнительного подозрительного кода, что привело к немедленной блокировке издателя и удалению всех его расширений из VS Marketplace. Компания также инициировала автоматическое отключение этих расширений на всех установленных экземплярах VS Code.
Реакция разработчика и противоречия
Маттиа Асторино, создатель расширений, утверждает, что проблема связана с устаревшей зависимостью sanity.io, используемой для отображения release notes. По его словам, эта зависимость успешно проходила проверки с 2016 года, но недавно могла быть скомпрометирована. Разработчик также попытался выпустить обновленную версию расширения под названием Fanny Themes, однако она также была удалена Microsoft.
Рекомендации по обеспечению безопасности
В целях минимизации потенциальных рисков пользователям Visual Studio Code настоятельно рекомендуется удалить следующие расширения: equinusocio.moxer-theme, equinusocio.vsc-material-theme, equinusocio.vsc-material-theme-icons, equinusocio.vsc-community-material-theme и equinusocio.moxer-icons. Этот инцидент подчеркивает важность регулярного аудита используемых расширений и зависимостей в средах разработки.
Microsoft обещает опубликовать подробный отчет о выявленной вредоносной активности в репозитории VSMarketplace на GitHub. Данный случай служит напоминанием о необходимости тщательной проверки даже широко используемых расширений и важности своевременного реагирования на потенциальные угрозы безопасности в инструментах разработки.