التخفي الطويل: حزمة خبيعة بقيت لسنوات
الحزمة الضارة، المسماة “Tracer.Fody.NLog”، بقيت متاحة على مستودع NuGet لما يقرب من ست سنوات، حيث نُشرت لأول مرة في 26 فبراير 2020 بواسطة مستخدم يحمل اسم “csnemess”. تتنكر هذه الحزمة في صفة الحزمة الشرعية المعروفة “Tracer.Fody”، التي يحافظ عليها مطور باسم “csnemes” (بحرف ‘s’ واحد). ووفقاً للباحثين، تم تنزيل الحزمة الخبيثة 2000 مرة على الأقل، شملت 19 عملية تنزيل للإصدار 3.2.4 خلال الأسابيع الستة الماضية فقط.
آلية العمل: من مكتبة تتبع إلى سارق خفي
كشفت شركة “سوكيت” للأمن أن الحزمة تقدم نفسها على أنها تكامل قياسي للتتبع في .NET، لكنها في الواقع تعمل كسارق لمحافظ العملات المشفرة. عند تضمين المشروع لهذه الحزمة، تقوم المكتبة الخبيثة المضمنة (Tracer.Fody.dll) بتنفيذ سلوك ضار يتلخص في:
-
مسح دليل محفظة “ستراتيس” الافتراضي على نظام ويندوز تلقائياً.
-
قراءة ملفات *.wallet.json التي تحتوي على بيانات المحفظة.
-
استخراج بيانات المحفظة وكلمة المرور المرتبطة بها من الذاكرة.
-
إرسال هذه البيانات المسروقة إلى بنية تحتية يتحكم فيها المهاجمون، تستضيف على عنوان IP روسي (176.113.82[.]163).
أساليب التمويه: كيف تجنبت الاكتشاف؟
اعتمد التهديد على عدة تكتيكات ذكية للتمويه وتجنب الاكتشاف السريع، منها:
-
محاكاة المطور الشرعي: باستخدام اسم مستخدم يختلف بحرف واحد فقط عن المطور الأصلي (“csnemes” مقابل “csnemess”)، وهو أسلوب كلاسيكي في هجمات Typosquatting.
-
استخدام أحرف مشابهة: دمج أحرف مشابهة للأبجدية السيريلية في الشفرة المصدرية لإرباك عمليات المراجعة البصرية.
-
إخفاء الروتين الضار: تضمين التعليمات البرمجية الخبيثة داخل دالة مساعدة عامة تُسمى Guard.NotNull، وهي دالة تُستخدم بشكل روتيني أثناء تنفيذ البرنامج العادي، مما يجعل النشاط الضار يبدو جزءاً طبيعياً من العملية.
ولضمان التخفي التام، صممت الحزمة لالتقاط جميع الاستثناءات (Exceptions) بصمت، بحيث حتى إذا فشلت عملية إرسال البيانات المسروقة، يستمر التطبيق المضيف في العمل دون ظهور أي أخطاء مرئية للمستخدم.
نمط متكرر: اتصال بحملة سابقة
يشير الباحثون إلى أن عنوان الـ IP الروسي المستخدم في هذه الهجمة ليس جديداً، فقد تم استخدامه سابقاً في ديسمبر 2023 في هجوم آخر مشابه على NuGet. في تلك الحالة، نشر المهاجمون حزمة باسم “Cleary.AsyncExtensions” تحت اسم مستعار “stevencleary” لمحاكاة مكتبة AsyncEx الشرعية، ودمجوا فيها وظيفة لسرقة عبارات استرداد (Seed Phrases) محافظ العملات المشفرة. هذا التداخل يشير إلى أن نفس الجهة الفاعلة أو مجموعات متشابهة قد تكون وراء هذه الهجمات المتعددة التي تستهدف نظام .NET.
تحذير للمستقبل: استهداف المكتبات الشائعة
تؤكد هذه الاكتشافات كيف يمكن للحزم الضارة التي تحاكي الأدوات الشرعية أن تعمل بخفة لسنوات عبر أنظمة المستودعات مفتوحة المصدر دون جذب الانتباه. وتحذر شركة سوكيت المدافعين من توقع رؤية نشاط مماثل وهجمات لاحقة تتبع هذا النمط، حيث من المرجح أن تشمل الأهداف المستقبلية مكتبات أخرى شائعة في مشاريع .NET، مثل:
-
تكاملات التسجيل والتتبع (Logging and Tracing Integrations).
-
مكتبات التحقق من المدخلات (Argument Validation Libraries).
-
حزم الأدوات المساعدة العامة (Utility Packages).































