كشفت تقارير أمنية حديثة عن حملة واسعة النطاق لتوزيع البرمجيات الخبيثة، استغلت 109 مستودع وهمي على منصة GitHub لخداع المستخدمين وتحميل أدوات خطيرة مثل SmartLoader و StealC. تم تصميم هذه الحملة الماكرة ببراعة، حيث اعتمدت على نسخ مطابقة لمشاريع مفتوحة المصدر حقيقية، مما جعل من الصعب على المستخدم العادي التمييز بين الحقيقي والمحتال.
يعمد المهاجمون وراء هذه الحملة إلى استنساخ مشاريع GitHub الشرعية، وإعادة نشرها تحت أسماء مستخدمين مختلفة، واستبدال الوثائق الأصلية بأزرار تحميل لملفات ZIP ضارة. تم إخفاء هذه الملفات بعناية داخل هياكل المجلدات للمستودعات، لتبدو وكأنها حزم إصدار عادية. أما الشيفرة المصدرية للمشاريع المستنسخة، فقد بقيت سليمة في معظمها، مما أكسب المستودعات الوهمية مصداقية ظاهرياً.
حملة استخدام مستودعات GitHub الوهمية لتوزيع البرمجيات الخبيثة
حدد محللو Hexastrike 109 مستودعاً خبيثاً موزعة على 103 حسابات مختلفة على GitHub. وتشير مؤشرات الحملة إلى أنها كانت نشطة لمدة سبعة أسابيع على الأقل قبل مراجعتها، مع ظهور مستودعات جديدة حتى 12 أبريل 2026. هذا النشاط المستمر يعكس تصميم المهاجمين على الاستمرار في تضليل المستخدمين.
وأشار الباحثون إلى أن المستودعات تم تحديثها على دفعات، حيث جرى تدوير روابط التحميل لملفات ZIP جديدة، وهو نمط يشير إلى تحكم مركزي وأتمتة جزئية على الأقل من قبل جهة تهديد فردية أو مجموعة متماسكة. الاتساق في تخطيط الأرشيف، وهيكل ملفات README، ونمط التوزيع، وعائلة البرمجيات الخبيثة عبر جميع المستودعات، عزز هذا التقييم.
وبحسب الخبراء، فإن تأثير هذه الحملة يمتد إلى ما وراء المستخدمين الأفراد. ونظراً للثقة العالية التي توليها المنصات للمطورين والطلاب والمتخصصين في الأمن، فإن تواجد المستودعات الوهمية بجانب المستودعات الحقيقية في نتائج البحث يمنحها مصداقية ضمنية. بل إن جهة التهديد قامت بإضافة مصطلحات تحسين محركات البحث (SEO) غير ذات صلة إلى أوصاف المستودعات لزيادة ظهورها وجذب المزيد من الضحايا.
آلية عمل SmartLoader بعد التحميل
بمجرد قيام الضحية بتحميل واستخراج ملف ZIP، يقوم سكريبت دفعي بسيط بتشغيل مترجم LuaJIT، والذي بدوره يقوم بتشغيل سكريبت Lua مشفر للغاية يُعرف باسم SmartLoader. من منظور الضحية، لا يحدث أي شيء مرئي على الشاشة، حيث تستخدم البرمجية الخبيثة استدعاءات واجهة برمجة تطبيقات Windows لإخفاء نافذة وحدة التحكم الخاصة بها فور تنفيذها.
بعد ذلك، يقوم SmartLoader بإجراء فحص لمكافحة التصحيح (anti-debug) باستخدام شيفرة shellcode أصلية تم نسخها إلى ذاكرة قابلة للتنفيذ، وهي تقنية مصممة لمنع الباحثين الأمنيين من تحليل سلوكها. لتحديد خادم القيادة والتحكم (C2) النشط دون الحاجة إلى تضمين عنوانه بشكل ثابت، يستعلم SmartLoader عن عقد ذكي على سلسلة كتل Polygon باستخدام اتصال JSON-RPC إلى polygon.drpc.org، لاسترداد عنوان IP للخادم المباشر من قيمة موجودة على السلسلة.
هذه الطريقة، المعروفة باسم “حلّال الصندوق البريدي الميت” (blockchain dead drop resolver)، تسمح للمشغل بتغيير البنية التحتية عن طريق تحديث إدخال واحد على السلسلة بدلاً من إعادة بناء البرمجية الخبيثة أو تغيير كل عينة موزعة. بعد تحديد الخادم النشط، يرسل SmartLoader طلباً من نوع POST متعدد الأجزاء يحتوي على تفاصيل بصمة الجهاز (host fingerprinting) ولقطات شاشة إلى خادم C2 بعنوان IP عارٍ.
يستجيب الخادم بتعليمات مشفرة ومهام. بعد ذلك، يتم إنشاء آلية استمرارية (persistence) عبر مهمتين مجدولتين يوميًا، بأسماء مثل “AudioManager_ODM3” و “OfficeClickToRunTask_7d7757” للاندماج مع نشاط النظام الشرعي. تقوم إحدى المهام بتشغيل نسخة محلية مخزنة مؤقتاً من مرحلة Lua، بينما تقوم المهمة الأخرى بإعادة تنزيل مرحلة مشفرة جديدة مباشرة من مستودع GitHub منفصل يتحكم فيه المهاجم. تضمن آلية الاستمرارية المزدوجة هذه بقاء البرمجية الخبيثة نشطة حتى لو تم حظر أحد مسارات الاسترداد أو تنظيفه.
كما أن نفس مستودع التوزيع استضاف حمولة StealC مشفرة، والتي كان SmartLoader قادراً على فك تشفيرها وتحميلها مباشرة في الذاكرة دون كتابتها على القرص. وتشير هذه المعلومات إلى ضرورة أخذ الحيطة والحذر من قبل فرق الأمن والمستخدمين الأفراد على حد سواء.

