شكلت سلسلة هجمات إمداد خبيثة جديدة تحدياً جديداً للأمن السيبراني، حيث تم اكتشاف حزمة NuGet ضارة باسم Tracer.Fody.NLog تتخفى كأداة تتبع مشروعة لتطبيقات .NET. وقد نجحت هذه الحزمة، التي تم نشرها عام 2020، في خداع المطورين لسنوات، محققة حوالي 2000 عملية تنزيل من خلال انتحال شخصية أداة Tracer.Fody الشائعة والجهة المسؤولة عنها.
استغل المهاجمون التقنية المعروفة باسم “typosquatting” (تسجيل أسماء نطاقات مشابهة ولكن مع أخطاء إملائية) والهندسة الاجتماعية. فقد تم نشر الحزمة الضارة تحت اسم مستخدم csnemess، وهو تنويع شبه مطابق لاسم المسؤول الشرعي csnemes. وبالموازاة مع ذلك، قاموا بتقليد بيانات الحزمة الأصلية ووصفها، مما جعلها تبدو طبيعية للمراقبين العاديين.
هذا التمويه سمح للبرمجيات الخبيثة بالتسلل عميقاً إلى بيئات التطوير، مستهدفة الأدوات الخاصة وخطوط أنابيب التكامل المستمر (CI pipelines).
حدد محللو Socket.dev هذا التهديد المتطور، مشيرين إلى أنه يستهدف أصول العملات المشفرة على وجه الخصوص. تم تضمين روتين متخصص داخل كود الحزمة لسرقة البيانات الحساسة من محافظ Stratis المشفرة. يبقى برنامج التجسس خاملاً حتى تتحقق شروط معينة، مما يسمح له بالعمل بصمت في الخلفية دون إثارة إنذارات أو إنشاء سجلات.
الكشف عن حزمة NuGet الخبيثة التي تستهدف محافظ العملات المشفرة
يعد تأثير هذه الحملة كبيراً نظراً لطول فترة استمرار الحزمة الضارة. فقد ظل الكود الخبيث موجوداً في مشاريع مختلفة لأكثر من خمس سنوات، في انتظار استخلاص بيانات الاعتماد. استخدم المهاجمون خادم قيادة وسيطرة (Command and Control) يقع في روسيا لجمع بيانات المحفظة المسروقة، مما يؤكد الطبيعة المحسوبة والمستمرة لعملية السرقة المالية هذه.
آلية عمل الكود الخبيث
يكمن جوهر وظيفة البرمجيات الخبيثة في آلية عدوى مبتكرة تستغل نمطًا شائعًا في البرمجة. تقوم المكتبة الخبيثة بربط نفسها بطريقة مساعدة عامة تسمى Guard.NotNull. هذه الطريقة تُستخدم بشكل متكرر من قبل المطورين للتحقق من صحة الوسائط، مما يجعلها مكانًا مثاليًا لإخفاء المنطق الضار.
عندما تقوم الطريقة المساعدة بمعالجة كائن يحتوي على خاصية WalletPassword، تنشط البرمجيات الخبيثة.
باستخدام تقنية الانعكاس (reflection)، يستخرج الكود كلمة المرور ويمسح نظام الضحية بحثًا عن ملفات محافظ Stratis. يستهدف على وجه التحديد مجلد %APPDATA%StratisNodestratisStratisMain. بمجرد تحديد ملفات wallet.json، يقوم باقتطاع البيانات لالتقاط المفاتيح الأساسية، ثم يقوم بتسريب هذه المعلومات بصمت، جنباً إلى جنب مع كلمة المرور، إلى عنوان IP محدد مسبقاً.
لزيادة التهرب من الكشف، استخدم المهاجمون أحرفًا متجانسة (homoglyphs) – وهي حروف سريلية تبدو متطابقة مع الحروف اللاتينية – في معرفات الكود الخاصة بهم، مما يجعل المراجعة اليدوية للكود صعبة للغاية حتى بالنسبة للمطورين ذوي الخبرة.
هذا المزيج من إخفاء الأحرف المتجانسة والتنفيذ الصامت يضمن أن التطبيق المضيف يبدو أنه يعمل بشكل طبيعي بينما يتم استنزاف البيانات المالية الحساسة من النظام المخترق. توضح هذه الهجمة مدى سهولة استخدام أدوات التطوير الموثوقة كسلاح ضد المستخدمين غير المدركين، مما يحول تحديثات التبعية الروتينية إلى مسؤوليات أمنية كبيرة للمؤسسة بأكملها.

