أداة Python لتحليل البيانات تعمل نصف اليوم تحولت إلى خبيثة: سرقت المفاتيح والرموز.
قام مجرم إلكتروني بنشر نسخة خبيثة من حزمة elementary‑data على PyPI
حمل مهاجم مجهول نسخة معدلة من الإصدار 0.23.3 من أداة *elementary-data* – أداة لمراقبة البيانات – إلى مستودع PyPI. جمعت الحزمة الخبيثة وترسلت إلى خادم بعيد معلومات سرية: مفاتيح SSH، بيانات اعتماد AWS، رموز API، بالإضافة إلى ملفات محفظات العملات الرقمية (Bitcoin, Litecoin, Dogecoin, Ethereum). تم تجميع البيانات في أرشيف `trin.tar.gz` وتم إرساله للمهاجم.
كيف حصل على الوصول إلى المستودع
استغل المهاجم ثغرة في إحدى عمليات GitHub Actions لمشروع *elementary‑data*. بعد الحصول على التوكن `GITHUB_TOKEN` الذي يُمنح تلقائياً، أنشأ طلب سحب (pull request) استبدل فيه الحزمة الأصلية بالنسخة الخبيثة. بفضل سير العمل الآلي تم قبول الطلب ونشر الإصدار المصاب.
مدة وجود الحزمة الخبيثة
- 25 أبريل، الساعة 02:20 (MSK) – حمل المهاجم النسخة الخبيثة إلى PyPI.
- 02:24 – نشر أيضاً صورة Docker مصابة في GitHub Container Registry، موسّعاً بذلك نطاق الهجمات.
- 13:45 نفس اليوم – حذف مسؤولو المشروع جميع الملفات المصابة وأصدروا نسخة نظيفة 0.23.4.
وبالتالي كانت الحزمة الخبيثة متاحة للمستخدمين لأكثر من 11 ساعة، ما منح فرصة لتسرب البيانات.
المكونات المتضررة
أكد المطورون أن الأجزاء الأخرى من النظام – *Elementary dbt*، موارد Elementary Cloud وإصدارات أخرى من المشروع – لم تتأثر بالحادث.
ما الذي يجب على المستخدمين فعله
1. احذف النسخة المصابة 0.23.3 وقم بتثبيت الإصدار الآمن 0.23.4.
2. نظف ذاكرة التخزين المؤقت للحزم (`pip cache purge` أو أداة مماثلة).
3. احذف ملف العلامة `.trinny-security-update` إذا كان موجوداً – وجوده يشير إلى تشغيل كود خبيث.
الإجراءات التي اتخذها المطورون
- تم تحديث توكن نشر PyPI.
- راجعت وتحديثت توكنات GitHub وGitHub Container Registry.
- تمت إزالة سير العمل المتأثر في GitHub Actions؛ وتم فحص العمليات الأخرى للتأكد من أمانها.
وبذلك استعادت فريق *elementary‑data* السيطرة على المستودع وضمنت حماية المستخدمين من التهديدات المستقبلية.
التعليقات (0)
شارك أفكارك — يرجى الالتزام بالأدب والبقاء ضمن الموضوع.
سجّل الدخول للتعليق