عودة بوتات خبيثة في نظام Solana البيئي: فخ سرقة المفتاح الخاص المخفي في ملف التكوين
في أوائل يوليو 2025، طلب أحد المستخدمين المساعدة من فريق أمن Slow Mist، طالبًا تحليل سبب سرقة أصوله المشفرة. وكشفت التحقيقات أن الحادث نتج عن استخدام هذا المستخدم لمشروع مفتوح المصدر zldp2002/solana-pumpfun-bot المستضاف على GitHub، مما أدى إلى تفعيل سلوك خفي لسرقة الأصول.
في الآونة الأخيرة، تضرر بعض المستخدمين بسبب استخدام مشاريع مفتوحة المصدر مشابهة لـ audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot، مما أدى إلى سرقة الأصول المشفرة، وتم الاتصال بفريق أمان SlowMist.对此، أجرى الفريق تحليلًا عميقًا.
عملية التحليل
التحليل الثابت
من خلال التحليل الثابت، تم اكتشاف أن الكود المشتبه به يقع في ملف الإعدادات /src/common/config.rs، ويركز بشكل أساسي داخل طريقة create_coingecko_proxy(). تستدعي هذه الطريقة أولاً import_wallet()، ومن ثم تستدعي import_env_var() للحصول على المفتاح الخاص.
في طريقة import_env_var()، إذا كان هناك متغير بيئي موجود، يتم إرجاعه مباشرة؛ وإذا لم يكن موجودًا، يتم الانتقال إلى فرع Err(e)، وطباعة معلومات الخطأ. نظرًا لوجود حلقة loop{} بدون شرط خروج، سيؤدي ذلك إلى استهلاك الموارد بشكل مستمر.
يتم تخزين PRIVATE_KEY وغيرها من المعلومات الحساسة في ملف .env. عند الحصول على PRIVATE_KEY، سيقوم الكود الخبيث بالتحقق من طول المفتاح الخاص:
إذا كانت أقل من 85، اطبع رسالة خطأ واستمر في استهلاك الموارد؛
إذا كان أكبر من 85، قم بتحويل سلسلة Base58 هذه إلى كائن Keypair، يتضمن معلومات المفتاح الخاص.
بعد ذلك، تستخدم الشفرة الخبيثة Arc لتغليف معلومات المفتاح الخاص، لدعم المشاركة متعددة الخيوط.
ثم نقوم بفك تشفير عنوان URL الضار. أولاً، نحصل على عنوان خادم المهاجم المُشفر HELIUS_PROXY( وهو ثابت مشفر، نستخدم bs58 لفك التشفير، ثم نحول النتيجة إلى مصفوفة بايت، ثم نعيد تحويلها إلى سلسلة UTF-8.
العنوان الحقيقي بعد فك التشفير هو:
![ظهور بوتات خبيثة في نظام Solana البيئي: ملف التعريف يحتوي على فخ لنقل المفتاح الخاص])https://img-cdn.gateio.im/webp-social/moments-52dfae255e511bbb7a9813af7340c52e.webp(
تم إنشاء عميل HTTP بواسطة التعليمات البرمجية الضارة، وتحويل معلومات المفتاح الخاص إلى سلسلة Base58، وبناء جسم طلب JSON، وإرسال المفتاح الخاص والبيانات الأخرى إلى هذا URL عبر طلب POST، مع تجاهل نتائج الاستجابة.
علاوة على ذلك، تحتوي طريقة create_coingecko_proxy)( أيضًا على وظائف طبيعية مثل الحصول على الأسعار، وذلك للتغطية على سلوكها الخبيث. يتم استدعاء هذه الطريقة عند بدء تشغيل التطبيق، وتقع في مرحلة تهيئة ملف إعدادات طريقة main)( في main.rs.
وفقًا للتحليل، فإن عنوان IP لخادم المهاجم يقع في الولايات المتحدة.
تم تحديث المشروع مؤخرًا في GitHub في 17 يوليو 2025، مع التركيز على التغييرات الرئيسية في ملف التكوين config.rs الموجود في دليل src. تم استبدال التشفير الأصلي لعنوان HELIUS_PROXY بتشفير جديد.
! [نظام Solana البيئي يعيد إنشاء الروبوتات الضارة: ملف التكوين مخفي مصيدة نقل المفتاح الخاص])https://img-cdn.gateio.im/webp-social/moments-453d878924f97e2f24033e4d40f0a24c.webp(
) التحليل الديناميكي
لرصد عملية سرقة التعليمات البرمجية الخبيثة بشكل بصري، قمنا بكتابة برنامج Python لإنشاء مجموعة مفاتيح عامة وخاصة لاختبار Solana، وأقمنا خادم HTTP يمكنه استقبال طلبات POST على الخادم.
استبدل ترميز خادم الاختبار الذي تم إنشاؤه برمز عنوان الخادم الضار الذي قام المتسلل بتعيينه ، واستبدل PRIVATE_KEY في ملف .env بالمفتاح الخاص للاختبار.
بعد تشغيل الشفرة الضارة، يمكن رؤية أن خادم الاختبار قد استقبل بنجاح بيانات JSON المرسلة من المشروع الضار، والتي تحتوي على معلومات المفتاح الخاص.
في أسلوب الهجوم هذا، يقوم المهاجم بالتظاهر بمشروع مفتوح المصدر شرعي، مما يحث المستخدمين على تحميل وتنفيذ كود ضار. سيقوم المشروع بقراءة المعلومات الحساسة من ملف .env المحلي، ونقل المفتاح الخاص المسروق إلى خادم يتحكم فيه المهاجم. عادةً ما ترتبط هذه الأنواع من الهجمات بتقنيات الهندسة الاجتماعية، حيث يمكن أن يقع المستخدمون في الفخ بسهولة.
ينبغي على المطورين والمستخدمين توخي الحذر الشديد تجاه مشاريع GitHub غير المعروفة، خاصة عندما يتعلق الأمر بعمليات المحافظ أو المفتاح الخاص. إذا كان من الضروري تشغيلها أو تصحيحها، يُنصح بالقيام بذلك في بيئة مستقلة وخالية من البيانات الحساسة، لتجنب تنفيذ برامج وأوامر خبيثة غير معروفة المصدر.
! [نظام Solana البيئي يعيد إنشاء الروبوتات الضارة: ملف التكوين مصيدة المفتاح الخاص المخفية])https://img-cdn.gateio.im/webp-social/moments-f0b9ae1a79eb6ac2579c9d5fb0f0fa78.webp(
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
Solana نوع جديد من بوتات خبيثة: تحليل كود سرقة المفتاح الخاص والوقاية منه
عودة بوتات خبيثة في نظام Solana البيئي: فخ سرقة المفتاح الخاص المخفي في ملف التكوين
في أوائل يوليو 2025، طلب أحد المستخدمين المساعدة من فريق أمن Slow Mist، طالبًا تحليل سبب سرقة أصوله المشفرة. وكشفت التحقيقات أن الحادث نتج عن استخدام هذا المستخدم لمشروع مفتوح المصدر zldp2002/solana-pumpfun-bot المستضاف على GitHub، مما أدى إلى تفعيل سلوك خفي لسرقة الأصول.
في الآونة الأخيرة، تضرر بعض المستخدمين بسبب استخدام مشاريع مفتوحة المصدر مشابهة لـ audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot، مما أدى إلى سرقة الأصول المشفرة، وتم الاتصال بفريق أمان SlowMist.对此، أجرى الفريق تحليلًا عميقًا.
عملية التحليل
التحليل الثابت
من خلال التحليل الثابت، تم اكتشاف أن الكود المشتبه به يقع في ملف الإعدادات /src/common/config.rs، ويركز بشكل أساسي داخل طريقة create_coingecko_proxy(). تستدعي هذه الطريقة أولاً import_wallet()، ومن ثم تستدعي import_env_var() للحصول على المفتاح الخاص.
في طريقة import_env_var()، إذا كان هناك متغير بيئي موجود، يتم إرجاعه مباشرة؛ وإذا لم يكن موجودًا، يتم الانتقال إلى فرع Err(e)، وطباعة معلومات الخطأ. نظرًا لوجود حلقة loop{} بدون شرط خروج، سيؤدي ذلك إلى استهلاك الموارد بشكل مستمر.
! الاستنساخ البيئي ل Solana للروبوتات الضارة: ملف التكوين مصيدة المفتاح الخاص المخفي
يتم تخزين PRIVATE_KEY وغيرها من المعلومات الحساسة في ملف .env. عند الحصول على PRIVATE_KEY، سيقوم الكود الخبيث بالتحقق من طول المفتاح الخاص:
بعد ذلك، تستخدم الشفرة الخبيثة Arc لتغليف معلومات المفتاح الخاص، لدعم المشاركة متعددة الخيوط.
ثم نقوم بفك تشفير عنوان URL الضار. أولاً، نحصل على عنوان خادم المهاجم المُشفر HELIUS_PROXY( وهو ثابت مشفر، نستخدم bs58 لفك التشفير، ثم نحول النتيجة إلى مصفوفة بايت، ثم نعيد تحويلها إلى سلسلة UTF-8.
العنوان الحقيقي بعد فك التشفير هو:
![ظهور بوتات خبيثة في نظام Solana البيئي: ملف التعريف يحتوي على فخ لنقل المفتاح الخاص])https://img-cdn.gateio.im/webp-social/moments-52dfae255e511bbb7a9813af7340c52e.webp(
تم إنشاء عميل HTTP بواسطة التعليمات البرمجية الضارة، وتحويل معلومات المفتاح الخاص إلى سلسلة Base58، وبناء جسم طلب JSON، وإرسال المفتاح الخاص والبيانات الأخرى إلى هذا URL عبر طلب POST، مع تجاهل نتائج الاستجابة.
علاوة على ذلك، تحتوي طريقة create_coingecko_proxy)( أيضًا على وظائف طبيعية مثل الحصول على الأسعار، وذلك للتغطية على سلوكها الخبيث. يتم استدعاء هذه الطريقة عند بدء تشغيل التطبيق، وتقع في مرحلة تهيئة ملف إعدادات طريقة main)( في main.rs.
وفقًا للتحليل، فإن عنوان IP لخادم المهاجم يقع في الولايات المتحدة.
تم تحديث المشروع مؤخرًا في GitHub في 17 يوليو 2025، مع التركيز على التغييرات الرئيسية في ملف التكوين config.rs الموجود في دليل src. تم استبدال التشفير الأصلي لعنوان HELIUS_PROXY بتشفير جديد.
! [نظام Solana البيئي يعيد إنشاء الروبوتات الضارة: ملف التكوين مخفي مصيدة نقل المفتاح الخاص])https://img-cdn.gateio.im/webp-social/moments-453d878924f97e2f24033e4d40f0a24c.webp(
) التحليل الديناميكي
لرصد عملية سرقة التعليمات البرمجية الخبيثة بشكل بصري، قمنا بكتابة برنامج Python لإنشاء مجموعة مفاتيح عامة وخاصة لاختبار Solana، وأقمنا خادم HTTP يمكنه استقبال طلبات POST على الخادم.
استبدل ترميز خادم الاختبار الذي تم إنشاؤه برمز عنوان الخادم الضار الذي قام المتسلل بتعيينه ، واستبدل PRIVATE_KEY في ملف .env بالمفتاح الخاص للاختبار.
بعد تشغيل الشفرة الضارة، يمكن رؤية أن خادم الاختبار قد استقبل بنجاح بيانات JSON المرسلة من المشروع الضار، والتي تحتوي على معلومات المفتاح الخاص.
مؤشرات الاختراق ### IoCs (
المؤسسه: 103.35.189.28
المجالات: storebackend-qpq3.onrender.com
SHA256:
مستودع خبيث:
أساليب التنفيذ المماثلة:
ملخص
في أسلوب الهجوم هذا، يقوم المهاجم بالتظاهر بمشروع مفتوح المصدر شرعي، مما يحث المستخدمين على تحميل وتنفيذ كود ضار. سيقوم المشروع بقراءة المعلومات الحساسة من ملف .env المحلي، ونقل المفتاح الخاص المسروق إلى خادم يتحكم فيه المهاجم. عادةً ما ترتبط هذه الأنواع من الهجمات بتقنيات الهندسة الاجتماعية، حيث يمكن أن يقع المستخدمون في الفخ بسهولة.
ينبغي على المطورين والمستخدمين توخي الحذر الشديد تجاه مشاريع GitHub غير المعروفة، خاصة عندما يتعلق الأمر بعمليات المحافظ أو المفتاح الخاص. إذا كان من الضروري تشغيلها أو تصحيحها، يُنصح بالقيام بذلك في بيئة مستقلة وخالية من البيانات الحساسة، لتجنب تنفيذ برامج وأوامر خبيثة غير معروفة المصدر.
! [نظام Solana البيئي يعيد إنشاء الروبوتات الضارة: ملف التكوين مصيدة المفتاح الخاص المخفية])https://img-cdn.gateio.im/webp-social/moments-f0b9ae1a79eb6ac2579c9d5fb0f0fa78.webp(