أظهر حادثان حديثان في مستودع PyPI ثغرات في سلسلة توريد البرمجيات. تمكن المهاجمون من نشر إصدارات معدلة من حزم شرعية مثل PyTorch Lightning وIntercom-client. احتوت هذه الإصدارات على كود مخفي مصمم لاستخراج بيانات اعتماد الوصول المخزنة في أنظمة المستخدمين، مما يدل على خطر متزايد على المطورين والشركات التي تثق في مكتبات المصادر المفتوحة.
كيف تلاعب المهاجمون بالحزم الشرعية في PyPI 🔍
استخدم المهاجمون تقنيات typosquatting وdependency confusion لتوزيع إصداراتهم الخبيثة. في حالة PyTorch Lightning، كان الكود الضار يُنفذ أثناء التثبيت، جامعًا متغيرات البيئة وملفات التكوين التي تحتوي على بيانات الاعتماد. بالنسبة لـ Intercom-client، كان البرنامج الضار يُنشط عند استيراد الحزمة، مسربًا البيانات عبر طلبات HTTP إلى خوادم مسيطر عليها. استغل كلا الحالتين الثقة في نظام بايثون البيئي، حيث لا يزال المراجعة اليدوية للتبعيات تشكل تحديًا.
مفارقة تثبيت الثقة العمياء في PyPI 🤔
من الغريب أن نفس المطورين الذين يكتبون كودًا لأتمتة العمليات يقومون بعد ذلك بتثبيت حزم دون مراجعة محتواها. الأمر أشبه بشراء سيارة مستعملة وعدم فتح غطاء المحرك لأن البائع يبدو طيبًا. يعلم المهاجمون أن الكسل التقني هو ناقل هجوم مربح. في هذه الأثناء، نستمر في تنفيذ pip install كما لو كان فعل إيمان، آملين ألا يكون أحد قد أدخل keylogger في آخر تحديث لمكتبة لترتيب القوائم.