بدافزار GlassWorm
موج جدیدی از کمپین بدافزار GlassWorm با سوءاستفاده از توکنهای دزدیده شده GitHub برای تزریق کد مخرب به صدها مخزن، به طور فعال زنجیرههای تأمین نرمافزار را هدف قرار میدهد. این عملیات در درجه اول بر پروژههای مبتنی بر پایتون، از جمله برنامههای Django، کد تحقیقاتی یادگیری ماشین، داشبوردهای Streamlit و بستههای PyPI تمرکز دارد.
بردار حمله به طرز فریبندهای ساده اما بسیار مؤثر است: بدافزار مبهمسازیشده به فایلهای اجرایی رایج مانند setup.py، main.py و app.py اضافه میشود. هر توسعهدهندهای که وابستگیها را از طریق pip install نصب کند یا کد شبیهسازیشده را از یک مخزن آسیبدیده اجرا کند، ناخواسته بار دادهی مخرب را فعال میکند.
فهرست مطالب
تصاحب خاموش مخزن: تکنیک ForceMemo
این تکامل از کمپین، که اکنون به عنوان ForceMemo شناخته میشود، روشی مخفیانه برای به خطر انداختن مخازن را معرفی میکند. عوامل تهدید به حسابهای توسعهدهندگان دسترسی پیدا میکنند و مخازن را بدون برجای گذاشتن ردپای مرسوم، دستکاری میکنند.
با تغییر کامیتهای قانونی با کد مخرب و انتقال اجباری آنها به شاخه پیشفرض، مهاجمان متادیتای کامیت اصلی، از جمله پیام، نویسنده و مهر زمانی را حفظ میکنند و عملاً نفوذ را پنهان میکنند. این رویکرد شاخصهای قابل مشاهده مانند درخواستهای pull یا تاریخچه کامیتهای مشکوک را از بین میبرد و تشخیص را به طور قابل توجهی دشوارتر میکند.
زنجیره اجرای حمله: از سرقت اعتبارنامه تا تحویل بار داده
کمپین ForceMemo از یک فرآیند نفوذ ساختاریافته و چند مرحلهای پیروی میکند:
- محیطهای توسعهدهندگان در ابتدا از طریق افزونههای مخرب Visual Studio Code و Cursor که حاوی اجزای GlassWorm هستند و برای جمعآوری اطلاعات حساس، از جمله توکنهای GitHub طراحی شدهاند، مورد نفوذ قرار میگیرند.
- سپس از اعتبارنامههای سرقتشده برای تزریق پیلودهای رمزگذاریشدهی Base64 مبهمشده به فایلهای پایتون در تمام مخازن مرتبط با حساب کاربری آسیبدیده استفاده میشود.
- این بدافزارِ جاسازیشده، بررسیهای محیطی را انجام میدهد، بهویژه از اجرا در سیستمهایی که با زبان روسی پیکربندی شدهاند، اجتناب میکند. سپس از یک کیف پول بلاکچین سولانا درخواست میکند تا بهطور پویا URL تحویل بار داده را بازیابی کند.
- فایلهای مخرب دیگری از جمله جاوا اسکریپت رمزگذاریشده که برای سرقت ارزهای دیجیتال و استخراج دادهها طراحی شده است، دانلود میشوند.
فرماندهی و کنترل مبتنی بر بلاکچین: یک زیرساخت انعطافپذیر
یکی از ویژگیهای بارز این کمپین، وابستگی آن به بلاکچین سولانا به عنوان مکانیسم فرماندهی و کنترل (C2) است. به جای سرورهای سنتی، مهاجمان URLهای مربوط به تراکنشها را در فیلدهای یادداشت تراکنش که به آدرسهای کیف پول خاصی متصل هستند، ذخیره میکنند.
تجزیه و تحلیل نشان میدهد که فعالیت مرتبط با کیف پول اصلی از اوایل ۲۷ نوامبر ۲۰۲۵، ماهها قبل از مشاهده نفوذ به مخزن، آغاز شده است. این کیف پول دهها تراکنش را پردازش کرده است و مکانهای بارگذاری بارها و بارها، گاهی چندین بار در روز، بهروزرسانی میشوند. این رویکرد غیرمتمرکز، انعطافپذیری را افزایش داده و تلاشهای حذف را پیچیده میکند.
گسترش سطح حمله: npm و آلودگیهای بین اکوسیستمی
این کمپین فراتر از اکوسیستمهای پایتون به زنجیرههای تأمین جاوا اسکریپت نیز گسترش یافته است. دو بسته npm مربوط به React Native، یعنی react-native-international-phone-number (نسخه 0.11.8) و react-native-country-select (نسخه 0.3.91)، موقتاً مورد نفوذ قرار گرفته و با بدافزار جاسازیشده توزیع شدند.
این نسخههای مخرب، قلابهای از پیش نصبشدهای را معرفی کردند که جاوا اسکریپت مبهم را اجرا میکنند و زنجیره آلودگی مشابهی را آغاز میکنند. این بدافزار دوباره از سیستمهای روسی اجتناب میکند، دستورالعملهای بارگذاری داده را از طریق کیف پول Solana بازیابی میکند و تهدیدات خاص پلتفرم را مستقر میکند.
اجرا کاملاً در حافظه با استفاده از تکنیکهای زمان اجرا مانند eval() یا sandboxing Node.js رخ میدهد و حداقل آثار پزشکی قانونی را به جا میگذارد. علاوه بر این، یک مکانیسم پایداری با ذخیره یک مهر زمانی به صورت محلی، از آلودگی مجدد در یک پنجره ۴۸ ساعته جلوگیری میکند.
تاکتیکهای پیشرفته فرار و توزیع
نسخههای اخیر GlassWorm نشان دهندهی پیچیدگی فزاینده در توزیع و پنهانسازی است. مهاجمان با بهرهگیری از مکانیسمهای extensionPack و extensionDependencies، بارهای مخرب را به صورت انتقالی از طریق اکوسیستمهای افزونهی قابل اعتماد توزیع میکنند.
کمپینهای قبلی مرتبط با همین عامل تهدید، با استفاده از کاراکترهای نامرئی یونیکد برای پنهان کردن کد مخرب، بیش از ۱۵۱ مخزن گیتهاب را به خطر انداخته بودند. علیرغم استراتژیهای مختلف مبهمسازی و توزیع، همه کمپینها به طور مداوم به زیرساخت مبتنی بر سولانا متکی هستند که یک چارچوب عملیاتی یکپارچه را تأیید میکند.
افزونههای مخرب IDE: هدف قرار دادن محیطهای توسعهدهندگان
این کمپین همچنین از طریق یک افزونهی مخرب که با نام reditorsupporter.r-vscode-2.8.8-universal شناسایی میشود، به ابزارهای توسعه نفوذ کرده و IDE مربوط به Windsurf را هدف قرار داده است. این افزونه که خود را به عنوان یک افزونهی پشتیبانی از زبان R جا زده است، یک دزد اطلاعات مبتنی بر Node.js را مستقر میکند.
پس از نصب، این افزونه، دادههای رمزگذاریشده را از تراکنشهای بلاکچین بازیابی میکند، آنها را در حافظه اجرا میکند و اجزای کامپایلشده را برای استخراج دادههای حساس از مرورگرهای مبتنی بر کرومیوم مستقر میکند. پایداری از طریق وظایف زمانبندیشده و تغییرات رجیستری ویندوز حاصل میشود و اجرا را پس از راهاندازی سیستم تضمین میکند.
این بدافزار بهطور خاص محیطهای توسعهدهندگان را هدف قرار میدهد و سیستمهای روسی را مستثنی میکند، که رفتاری مشابه با سایر انواع GlassWorm دارد.
شاخصهای مقیاس و تأثیر
تحلیلهای امنیتی نشان میدهد که این کمپین بخش قابل توجهی از اکوسیستم متنباز را به خطر انداخته و بیش از ۴۳۳ پروژه را در پلتفرمهای مختلف تحت تأثیر قرار داده است. این پروژهها شامل مخازن گیتهاب (پایتون و جاوا اسکریپت)، افزونههای VS Code و کتابخانههای npm میشوند.
تمام مسیرهای آلودگی در نهایت به استقرار یک دزد اطلاعات مبتنی بر جاوا اسکریپت ختم میشوند که نشاندهندهی هدف نهایی ثابتِ برداشت اطلاعات محرمانه و استخراج دادهها است.
- بیش از ۴۳۳ پروژه و بستهی آلوده تایید شده
- بردارهای تحویل چندگانه شامل GitHub، npm و افزونههای IDE
- استفاده مداوم از زیرساخت بلاکچین سولانا برای تحویل بار داده
- حذف مکرر سیستمهای روسی در تمام نسخهها
ارزیابی استراتژیک: عصر جدیدی از حملات زنجیره تأمین
کمپین ForceMemo نشاندهندهی تشدید قابل توجه تهدیدات زنجیرهی تأمین نرمافزار است. ترکیبی از دستکاری مخفیانهی تاریخچهی گیت، زیرساخت C2 مبتنی بر بلاکچین و مسیرهای آلودگی بین پلتفرمی، نشاندهندهی سطح بالایی از بلوغ عملیاتی در این کمپین است.
استفاده مجدد از زیرساختها در کنار مکانیسمهای تحویل در حال تکامل، نشاندهنده یک دشمن تطبیقپذیر است که قادر به گسترش حملات در عین حفظ پایداری و گریز است. این تغییر از نفوذهای جداگانه به نفوذهای هماهنگ و چند اکوسیستمی، نشاندهنده ریسک رو به رشدی است که محیطهای توسعه مدرن و جوامع متنباز با آن مواجه هستند.