اكتشف خبراء الأمن السيبراني حزمة برمجية ضارة جديدة، تحمل اسم Pyronut، على مستودع حزم بايثون (PyPI)، تستهدف مطوري تطبيقات تلجرام من خلال انتحال هوية إطار العمل الشهير Pyrogram. تأتي هذه الحزمة الضارة لتزيد المخاوف الأمنية المتعلقة بسلسلة التوريد البرمجية.
لم تعتمد الحزمة الخبيثة على أساليب التضليل الشائعة مثل الأخطاء الإملائية، بل قامت بنسخ وصف مشروع Pyrogram بالكامل، كما وصفها الباحثون بأنها نسخة تروجانية مضللة مصممة للوصول إلى الضحايا عبر الهندسة الاجتماعية.
Pyronut: باك دور خفي يهدد مطوري تلجرام
يشهد إطار عمل Pyrogram حوالي 370 ألف عملية تنزيل شهريًا، مما يجعله هدفًا ذا قيمة عالية لمثل هذه الهجمات. قامت Pyronut بنسخ صفحة المشروع دون إضافة أي ميزات جديدة، وتشير رابط مستودع GitHub المدرج فيها إلى صفحة غير موجودة.
هذا يشير إلى أن الحزمة تم توزيعها عبر مجتمعات مطوري تلجرام والمنتديات المتخصصة، بدلاً من اكتشافها بشكل عشوائي. تم نشر ثلاث إصدارات ضارة من الحزمة، وهي 2.0.184، و2.0.185، و2.0.186.
تمكن باحثو Endor Labs من تحديد جميع الإصدارات الثلاثة في 18 مارس 2026، وهو نفس يوم ظهورها على PyPI، وتم عزلها في غضون ساعات. هذا الاستجابة السريعة قللت من نافذة الهجوم وقللت من عدد المطورين المعرضين للخطر.
آلية عمل Pyronut الخبيثة
ما جعل اكتشاف Pyronut صعبًا بشكل خاص هو استراتيجية تفعيلها في وقت التشغيل. على عكس معظم الحزم الضارة التي تنفذ التعليمات البرمجية الخبيثة عبر خطافات setup.py عند التثبيت، ظلت Pyronut خاملة تمامًا حتى يقوم المطور بتشغيل الروبوت الخاص به فعليًا.
قامت الحزمة بتضمين وحدة باك دور مخفية في Pyrogram/helpers/secret.py، والتي يتم تحميلها بصمت في كل مرة يبدأ فيها عميل تلجرام، متجاوزة بذلك فحوصات الأمان القياسية عند التثبيت.
كانت عواقب الإصابة الناجحة وخيمة. بمجرد تنشيط الباك دور، اكتسب المهاجم قدرات مزدوجة لتنفيذ التعليمات البرمجية عن بُعد (RCE)، وهي القدرة على تشغيل أي تعليمات برمجية بايثون أو أوامر shell عشوائية على جهاز الضحية. فتح هذا الباب لسرقة بيانات الاعتماد، واستخراج البيانات، والحركة الجانبية عبر الأنظمة، والاستيلاء الكامل على جلسة تلجرام النشطة للضحية.
تنفيذ الهجوم
كان الباك دور ينشط بمجرد استدعاء المطور لطريقة Client.start()، وهي خطوة أساسية في كيفية تهيئة أي روبوت تلجرام يعتمد على Pyrogram. قام الجهة التهديد بتعديل هذه الطريقة داخل pyrogram/methods/utilities/start.py لاستيراد وتشغيل وحدة secret.py المخفية بصمت في كل مرة يتم فيها تشغيل العميل.
الأهم من ذلك، تم تغليف الاستدعاء بالكامل في كتلة try/except: pass، لذلك إذا واجه الباك دور أي خطأ، فإنه يفشل بصمت ويستمر الروبوت في العمل بشكل طبيعي. بمجرد التشغيل، قام الباك دور بتسجيل اثنين من معالجات الرسائل المخفية على عميل تلجرام الخاص بالضحية، مرتبطان بمعرفي حساب المهاجم المحددين بشكل ثابت (hardcoded).
المعالج الأول، الذي يتم تشغيله بواسطة الأمر /e، استخدم مكتبة meval لتشغيل تعليمات برمجية بايثون عشوائية داخل الجلسة النشطة، مما يمنح وصولاً كاملاً إلى الرسائل وجهات الاتصال ووظائف Telegram API. المعالج الثاني، /shell، مرر الأوامر مباشرة إلى /bin/bash عبر subprocess، مما أعطى المهاجم وصولاً غير مقيد للنظام. كما تخطى الباك دور التثبيت على حسابات المهاجم الخاصة، وهو علامة واضحة على النية الخبيثة المتعمدة.
تم إرسال مخرجات الأوامر مرة أخرى إلى المهاجم عبر تلجرام نفسه، مع إرجاع النتائج في نفس المحادثة التي تم فيها إصدار الأوامر. هذا يعني أن العملية لم تترك أي اتصالات شبكة خارجية غير عادية، أو استعلامات DNS مشبوهة، أو نطاقات C2 لتنبيه أدوات المراقبة، مما يجعل الباك دور صعب الكشف للغاية من خلال التحليل الشبكي التقليدي.
يجب على المطورين الذين قاموا بتثبيت Pyronut إلغاء تثبيت الحزمة على الفور وإعادة بناء البيئات الافتراضية المتأثرة من حالة نظيفة ومتحقق منها. يجب معاملة جميع متغيرات البيئة، ومفاتيح API، ومفاتيح SSH، وكلمات مرور قواعد البيانات التي يمكن الوصول إليها من العملية المخترقة على أنها مكشوفة ويجب تدويرها على الفور. يجب إنهاء جلسات تلجرام النشطة وإلغاء جميع رموز Bot API فورًا.
يجب مراجعة ملفات التبعية بانتظام مثل requirements.txt، وPipfile، وpyproject.toml للتأكد من عدم وجود حزم غير متوقعة، ويجب استخدام ملفات القفل (lockfiles) مع تثبيت تجزئات التشفير (cryptographic hash pinning) لمنع الاستبدالات الصامتة. تشغيل التطبيقات بموجب مبدأ الحد الأدنى من الامتيازات ودمج أدوات تحليل تكوين البرامج (Software Composition Analysis) في خطوط أنابيب CI/CD سيقلل بشكل كبير من التعرض لهجمات سلسلة التوريد المماثلة.

