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