یک کمپین پیچیده در زنجیره تأمین (Supply Chain) مرتبط با گروه GlassWorm، از تمهای رنگی ظاهراً بیخطر در محیط Visual Studio Code برای توزیع لودرهای مخرب در Visual Studio Marketplace و Open VSX Registry استفاده کرده است.
مکانیسم حمله و بردارهای دسترسی
این فعالیت نشان میدهد که چگونه افزونههایی (Extensions) که صرفاً برای تغییر رنگ محیط ویرایشگر طراحی شدهاند، میتوانند به بردارهای دسترسی اولیه (Initial-Access Vectors) با تأثیر بالا تبدیل شوند. در حالی که تمهای VS Code معمولاً تنها به فایلهای پیکربندی Declarative نیاز دارند، این افزونهها حاوی کدهای JavaScript اجرایی بودند که هیچ نقش قانونی در یک تم رنگی ندارند.
تحلیل فنی بدافزار
تحقیقات نشان داد که این پروژهها با استفاده از تاریخچه Git و کامنتهای زبان روسی، به افزونه مخرب Aurora Nocturne Night Theme مرتبط هستند. ویژگیهای فنی این بدافزار عبارتند از:
- پنهانسازی: استفاده از کدگذاری کاراکترهای Unicode با عرض صفر (Zero-width) برای مخفی کردن یک Downloader مخصوص ویندوز.
- اجرای کد: لودر بدافزار با استفاده از الگوریتم AES-256-CBC یک مرحله (Stage) جاسازی شده را رمزگشایی کرده و از طریق تابع
eval()اجرا میکند. - فیلتر هدف: بدافزار پیش از ادامه عملیات، زبان سیستم و منطقه زمانی (Timezone) را بررسی میکند تا از محیطهای روسی دور بماند.
- C2 پویا: برای دریافت زیرساختهای Payload بعدی، این بدافزار از یادداشتهای تراکنشهای شبکه Solana استفاده میکند تا بتواند بدون نیاز به انتشار نسخه جدید افزونه، آدرسهای Command-and-Control (C2) خود را تغییر دهد.
مهندسی اجتماعی و Brandjacking
عامل تهدید در این کمپین از تکنیکهای مهندسی اجتماعی برای جلب اعتماد توسعهدهندگان استفاده کرده است. برای مثال، تم Coca-Cola Christmas از یک برند جهانی شناخته شده استفاده کرد و تم Aurora Borealis Studio Theme سعی داشت با تقلید از نام افزونههای قانونی قدیمی، کاربران را فریب دهد. این روش Brandjacking باعث میشود بستههای ناشناخته پیش از بررسی مخزن کد یا رفتار زمان اجرا، معتبر به نظر برسند.
تأثیر و اقدامات توصیهشده
این افزونهها بیش از ۸,۰۰۰ نصب در Marketplace مایکروسافت و دهها هزار دانلود در Open VSX داشتند. مایکروسافت پس از گزارشها، این موارد را حذف کرد. با توجه به اینکه GlassWorm پیش از این سابقه هدف قرار دادن اعتبارنامههای توسعهدهندگان (Credentials)، توکنهای ابری، کلیدهای SSH و اسرار CI/CD را داشته است، توصیه میشود:
- تمامی افزونههای نصب شده در محیطهای VS Code، Cursor و سایر ویرایشگرهای مشتق شده فهرستبرداری شوند.
- فایلهای
package.json، نقاط ورود (Entry Points) اعلام شده و دسترسیهای شبکه در افزونهها بررسی گردند. - از نصب افزونههایی که دارای کدهای JavaScript غیرضروری یا مبهم (Obfuscated) هستند، اجتناب شود.