В современном мире программирования Visual Studio Code уверенно занял лидирующие позиции благодаря своей гибкости и огромной библиотеке расширений. Однако ограничения официального магазина расширений, контролируемого Microsoft, породили альтернативные проекты, такие как Open VSX — независимый и открытый маркетплейс расширений для VSCode форков. Несмотря на изначальную безопасность и свободу, Open VSX недавно оказался в центре масштабного скандала, связанного с критической уязвимостью, способной поставить под угрозу безопасность миллионов разработчиков по всему миру. Visual Studio Code завоевал популярность благодаря возможности настройки через разнообразные расширения, предоставляющие дополнительные функции и инструменты. Однако Microsoft ограничила доступ к своему официальному магазину расширений, разрешая пользоваться им только официальной сборке VSCode.
Это ограничение стало значительным препятствием для сообществ и компаний, использующих сторонние форки: Cursor, Windsurf, VSCodium и многие другие. Ответом на эту проблему стало создание Open VSX — открытогo маркетплейса, поддерживаемого Eclipse Foundation. Его основная идея заключалась в том, чтобы предоставить сообществу возможность свободно публиковать и использовать расширения без ограничений. Open VSX быстро завоевал популярность и стал ключевым ресурсом для множества VSCode форков и интегрированных сред разработки, насчитывая более 10 миллионов пользователей и активно развиваясь с 2020 года. Однако такая широкая популярность обрела и обратную сторону — уязвимости, возникающие в инфраструктуре Open VSX, приобретают оглушительный резонанс.
В мае 2025 года исследовательская команда Koi Security обнаружила критическую брешь в механизме публикации расширений Open VSX, которая позволяла атакующему получить доступ к привилегированному аккаунту разработчика маркетплейса. Суть уязвимости сводилась к ошибке в автоматическом процессе автопубликации расширений. Для обновления расширений используется GitHub Actions с полными привилегиями и секретным токеном OVSX_PAT, который позволяет публиковать новые версии под учетной записью сервиса @open-vsx. Этот токен хранился в переменной окружения и был доступен во время выполнения скрипта npm install — процесса, в ходе которого устанавливаются зависимости и могут запускаться произвольные сборочные скрипты. Злоумышленник мог подготовить расширение с вредоносным build-скриптом, который при выполнении автоматически передавал бы токен наружу.
Получив токен OVSX_PAT, злоумышленник фактически выигрывал «ключи от королевства»: он мог публиковать, изменять или удалять любое расширение на платформе Open VSX, контролируя таким образом весь процесс распространения софта среди миллионов разработчиков. Последствия такой компрометации трудно переоценить. Подумайте о том, что расширения в VSCode запускаются как процессы Node.js с доступом к файловой системе, сети и другому окружению пользователя. Вредоносное обновление могло незаметно для пользователя внедрять шпионские модули, красть конфиденциальную информацию, внедрять бэкдоры в проекты, модифицировать исходный код и получить доступ к корпоративной инфраструктуре.
Такой сценарий можно сравнить с атакой SolarWinds, когда злоумышленники через цепочку поставок получили доступ к многоуровневым целям. Единственный баг в Open VSX выставил на уязвимость десятки миллионов разработчиков по всему миру и их компании, став одним из самых масштабных инцидентов в истории экосистемы VSCode. Технологические компании по всему миру используют разнообразные форки VSCode и полагаются на Open VSX для установки расширений. Cursor, Windsurf, VSCodium, Google Cloud Shell Editor, GitLab Web IDE и другие — все они напрямую затронуты данным инцидентом. В числе пользователей превышающие миллионы цифры, что делает атаку беспрецедентной по своему размаху.
Борьба с такой угрозой требует кардинального переосмысления подхода к безопасности расширений и вообще всех компонентов, потребляемых из публичных маркетплейсов. Нужно помнить, что сторонние расширения — это софт, разработанный независимыми авторами и исходя из принципов zero trust, к ним необходимо относиться с повышенной осторожностью. Компании и индивидуальные разработчики должны систематически проводить инвентаризацию всех установленных расширений, анализировать их происхождение, удостоверяться в регулярном обновлении и минимизации запрашиваемых разрешений. В идеале необходимо внедрять политики контроля и мониторинга, чтобы отслеживать автообновления расширений и выявлять подозрительные активности. Уязвимость в Open VSX показала глобальную проблему современной разработки: как просто едва заметная ошибка в автоматизированном процессе может поставить под угрозу тысячекратные объемы кода и данных.
Это подчеркивает необходимость глубокой интеграции инструментов безопасности в жизненный цикл разработки и дистрибуции приложений. Исследовательская команда Koi Security продемонстрировала, насколько важно поддерживать тесное взаимодействие между сообществами разработчиков, организацией маркетплейсов и экспертами по безопасности. Благодаря оперативному обнаружению и устранению уязвимости была предотвращена катастрофа на глобальном уровне. Будущее разработок за открытым кодом и fork-экосистемами несомненно связано с развитием принципов доверия и прозрачности. Появление категории IDE-расширений в базе MITRE и расширение возможностей мониторинга угроз сделали возможным более тщательный анализ и управление рисками.