Open VSXمحققان امنیت سایبری یک آسیب‌پذیری حیاتی را در رجیستری Open VSX (“open-vsx[.]org”) افشا کرده‌اند که در صورت بهره‌برداری موفقیت‌آمیز، می‌توانست مهاجمان را قادر سازد تا کنترل کل بازار افزونه‌هایVisual Studio Code را به دست گیرند و خطر جدی برای زنجیره تأمین ایجاد کنند.

اورن یومتوف، محقق Koi Security، گفت[۱]: “این آسیب‌پذیری به مهاجمان کنترل کامل بر کل بازار افزونه‌ها و به‌نوبه خود، کنترل کامل بر میلیون‌ها دستگاه توسعه‌دهنده را می‌دهد. با بهره‌برداری از یک مشکل CI، یک عامل مخرب می‌تواند به‌روزرسانی‌های مخرب را برای هر افزونه‌ای در Open VSX منتشر کند.”

پس از افشای مسئولانه در ۴ مه ۲۰۲۵، چندین دور اصلاح توسط توسعه‌دهندگان پیشنهاد شد، قبل از اینکه وصله نهایی در ۲۵ ژوئن اعمال شود.

رجیستری Open VSX یک پروژه متن‌باز و جایگزین Visual Studio Marketplace است که توسط بنیاد Eclipse نگهداری می‌شود[۲]. چندین ویرایشگر کد مانند Cursor، Windsurf، Google Cloud Shell Editor، Gitpod و دیگران آن را در سرویس‌های خود ادغام می‌کنند.

یومتوف گفت: «این پذیرش گسترده به این معنی است که به خطر افتادن Open VSX یک سناریوی کابوس‌وار برای زنجیره تأمین است. هر بار که یک افزونه نصب می‌شود یا به‌روزرسانی افزونه‌ای به‌صورت بی‌سروصدا در پس‌زمینه دریافت می‌شود، این اقدامات از طریق Open VSX انجام می‌شود.»

آسیب‌پذیری کشف‌شده توسط Koi Security ریشه در مخزن publish-extensions دارد[۳] که شامل اسکریپت‌هایی برای انتشار افزونه‌های کد VS متن‌باز در open-vsx.org است.

توسعه‌دهندگان می‌توانند با ارسال یک درخواست pull برای افزودن افزونه به فایل extensions.json موجود در مخزن، درخواست[۴] انتشار خودکار افزونه خود را بدهند و پس‌ازآن، افزونه تأیید و ادغام می‌شود.

در پشت‌صحنه، این به شکل یک گردش کار GitHub Actions اجرا می‌شود[۵] که روزانه ساعت ۰۳:۰۳ بامداد به‌وقت جهانی اجرا می‌شود[۶] و فهرستی از افزونه‌های جداشده با کاما را از فایل JSON به‌عنوان ورودی دریافت می‌کند و آن‌ها را با استفاده از بسته vsce npm در رجیستری منتشر می‌کند[۷].

یومتوف گفت: «این گردش کار با اعتبارنامه‌های ممتاز شامل یک توکن مخفی (OVSX_PAT) از حساب سرویس @open-vsx اجرا می‌شود که قدرت انتشار (یا بازنویسی) هر افزونه‌ای را در بازار دارد. در تئوری، فقط کد مورد اعتماد باید آن توکن را ببیند.»

«ریشه آسیب‌پذیری این است که npm install اسکریپت‌های ساخت دلخواه همه افزونه‌های منتشرشده خودکار و وابستگی‌های آن‌ها را اجرا می‌کند، درحالی‌که به آن‌ها دسترسی به متغیر محیطی OVSX_PAT را می‌دهد.»

این بدان معناست که می‌توان به توکن حساب @open-vsx دسترسی پیدا کرد، دسترسی ممتاز به رجیستری Open VSX را ممکن ساخت و به مهاجم این امکان را داد که افزونه‌های جدید را منتشر کند و افزونه‌های موجود را برای واردکردن کد مخرب دست‌کاری کند.

خطر ناشی از افزونه‌ها از دید MITRE پنهان نمانده است، که از آوریل ۲۰۲۵[۸] تکنیک جدیدی به نام «افزونه‌های [۹]IDE» را در چارچوب ATT&CK خود معرفی کرده و اظهار داشته است که این تکنیک می‌تواند توسط عوامل مخرب برای ایجاد دسترسی مداوم به سیستم‌های قربانی مورد بهره‌برداری قرار گیرد.

یومتوف گفت: «هر آیتم بازار یک در پشتی بالقوه است. آن‌ها وابستگی‌های نرم‌افزاری بررسی نشده‌ای با دسترسی ممتاز هستند و شایسته همان دقتی هستند که هر بسته‌ای از PyPI، npm، Hugginface یا GitHub دارد. اگر کنترل نشوند، یک زنجیره تأمین گسترده و نامرئی ایجاد می‌کنند که مهاجمان به‌طور فزاینده‌ای از آن بهره‌برداری می‌کنند.»

منابع

[۱] https://blog.koi.security/marketplace-takeover-how-we-couldve-taken-over-every-developer-using-a-vscode-fork-f0f8cf104d44

[۲] https://newsroom.eclipse.org/news/announcements/open-vsx-registry-vendor-neutral-open-source-alternative-visual-studio

[۳] https://github.com/EclipseFdn/publish-extensions

[۴] https://github.com/EclipseFdn/open-vsx.org/wiki/Auto-Publishing-Extensions

[۵] https://github.com/EclipseFdn/publish-extensions/actions/workflows/publish-extensions.yml

[۶] https://github.com/EclipseFdn/publish-extensions/blob/master/.github/workflows/publish-extensions.yml

[۷] https://www.npmjs.com/package/@vscode/vsce

[۸] https://attack.mitre.org/resources/updates/updates-april-2025

[۹] https://attack.mitre.org/techniques/T1176/002

[۱۰] https://thehackernews.com/2025/06/critical-open-vsx-registry-flaw-exposes.html