Уязвимости расширений Vs code поставили под угрозу 150 тысяч разработчиков по всему миру

Почти 150 тысяч разработчиков программного обеспечения оказались на грани масштабной кибератаки из-за уязвимостей, обнаруженных в популярных расширениях для среды разработки Microsoft Visual Studio Code (VS Code). Исследование, проведенное специалистами по информационной безопасности из компании Wiz Security, выявило тревожный факт: авторы множества дополнений к VS Code, зачастую сами разработчики-энтузиасты, допустили серьезные просчеты в защите конфиденциальных данных.

Эксперты проанализировали 500 расширений, размещенных как на официальной торговой площадке Visual Studio Marketplace, так и на альтернативной платформе Open VSX. В ходе анализа было обнаружено более 550 активных «секретов» — под этим термином понимаются чувствительные данные, такие как логины и пароли, токены авторизации, криптографические ключи, сертификаты безопасности и другие элементы, обеспечивающие доступ к различным ИТ-сервисам.

Исследователи классифицировали найденные уязвимости на 67 категорий, сгруппировав их по типу сервисов, к которым они предоставляют доступ. Среди них — генеративные ИИ-платформы, облачные провайдеры уровня Amazon Web Services и Google Cloud Platform, сервисы идентификации вроде Auth0, платформы для размещения кода (например, GitHub), а также базы данных, включая MongoDB и PostgreSQL.

Особую опасность представляют более 100 «секретов», которые могли бы позволить злоумышленникам захватить механизм обновления расширений. Такой доступ открывает путь к внедрению вредоносного кода в обновления, которые автоматически устанавливаются у пользователей — по умолчанию VS Code обновляет дополнения без участия пользователя. Это означает, что заражение может произойти без малейших признаков для жертвы.

Особое внимание исследователи уделили токенам персонального доступа (Personal Access Tokens, PAT), обнаруженным в коде расширений. Эти токены предоставляли полный контроль над процессом обновления, и теоретически могли быть использованы для заражения до 150 тысяч компьютерных систем, на которых установлен VS Code.

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

В числе потенциально пострадавших оказалась и некая китайская корпорация с рыночной капитализацией, превышающей $30 миллиардов. Эта компания опубликовала внутреннее расширение для VS Code на открытой платформе, тем самым подвергнув риску как собственные инфраструктуры, так и данные клиентов. Подобная практика — распространенное, но крайне небезопасное явление, когда организации ради удобства жертвуют базовыми принципами кибербезопасности.

По словам Рами Маккарти, главного исследователя компании Wiz, уязвимости особенно опасны в так называемых «вендор-специфичных» расширениях, публикуемых компаниями для внутреннего использования, но доступных в открытом доступе. В исследовании также упоминается один из таких плагинов, разработанный российской строительной ИТ-компанией, который может быть использован для атаки на её пользователей.

После выявления угроз, Wiz оперативно уведомила Microsoft о существующих проблемах. В ответ на это корпорация внедрила механизм автоматического анализа и фильтрации расширений, загружаемых в Visual Studio Marketplace. Новая система способна выявлять и блокировать плагины, в коде которых содержатся утечки чувствительной информации. Хотя впервые о запуске этого механизма было объявлено в августе 2023 года, реальные меры по блокировке небезопасных расширений начали действовать лишь в конце сентября.

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

Проблема, выявленная исследователями, поднимает более широкий вопрос о безопасности поставок программного обеспечения — так называемой «цепочке поставок» (supply chain). Уязвимость в одном из компонентов, даже внешне безвредном, может привести к компрометации всей системы. Особенно это касается среды разработки, ведь разработчики используют такие инструменты ежедневно и могут даже не подозревать, что рабочее окружение стало входной точкой для атаки.

Кроме того, автоматические обновления, которые нередко воспринимаются как благо, в условиях наличия уязвимостей превращаются в инструмент распространения вредоносного кода. Это особенно опасно в корпоративной среде, где заражение одного компьютера может привести к цепной реакции и затронуть всю ИТ-инфраструктуру организации.

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

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

Также рекомендуется использовать специализированные инструменты для анализа исходного кода на предмет наличия секретов, такие как GitGuardian, TruffleHog, Gitleaks и другие. Они позволяют автоматически выявлять и устранять утечки до того, как код попадет в публичный доступ.

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

В конечном счете, инцидент с уязвимыми плагинами для VS Code стал тревожным напоминанием о том, насколько уязвима современная цифровая инфраструктура, даже если речь идет о повседневных инструментах разработчика. И хотя в этот раз масштабной атаки удалось избежать, только системный подход к безопасности может защитить как отдельных пользователей, так и бизнес в целом от повторения подобных ситуаций.

Прокрутить вверх