كشفت شركة “تريند مايكرو” الأمنية عن اختراق جديد استهدف مكتبة Python SDK الخاصة بشركة Telnyx، وهي أداة شائعة تستخدم في الاتصالات السحابية، حيث تمكنت مجموعة قرصنة تُعرف باسم TeamPCP من إدخال شفرة خبيثة في نسختين من المكتبة ونشرهما على مستودع PyPI.
وقد تم نشر النسختين الملوثتين (4.87.1 و 4.87.2) في 27 مارس 2026، دون وجود أي سجلات مطابقة في مستودع GitHub الرسمي. تستهدف هذه المكتبة المطورين عبر أنظمة التشغيل Windows وmacOS وLinux، مما يجعلها واحدة من أوسع الهجمات التي تستهدف سلسلة التوريد في بيئات تطوير البرمجيات مفتوحة المصدر هذا العام.
تخريب مكتبة Python SDK لهدف سرقة البيانات
يأتي هذا الهجوم بعد أيام قليلة من اختراق المجموعة لحزمة LiteLLM، مما يشير إلى حملة تصعيد سريعة ومنظمة. يبدو أن المجموعة تستهدف بشكل منهجي المكتبات الموثوقة مفتوحة المصدر المستخدمة في أدوات الذكاء الاصطناعي وتطوير البرمجيات.
ووفقاً لخبراء “تريند مايكرو”، تم احتواء النسختين الخبيثتين من مكتبة Telnyx بواسطة PyPI بعد حوالي 6.5 ساعات من ظهورهما. تم حقن الشفرة الضارة مباشرة في ملف telnyx/_client.py، وكانت جميع مسارات التنفيذ نشطة عند استدعاء المكتبة. هذا يعني أن مجرد استخدام الأمر import telnyx في أي مشروع Python كان كافياً لتفعيل الشفرة الخبيثة.
آلية عمل الهجوم وتأثيره
يُعتبر تأثير هذه الهجمات كبيراً، إذ يجب على أي مطور أو مؤسسة قامت بتثبيت النسخ المتأثرة اعتبار أجهزتها مخترقة بالكامل. تم تصميم الشفرة الخبيثة لسرقة بيانات الاعتماد وإرسالها بصمت إلى خادم يتحكم به المهاجمون، وتستخدم طبقة تشفير قوية تشمل AES-256-CBC و RSA-4096.
امتد تأثير الهجوم ليشمل جميع أنظمة التشغيل الرئيسية، حيث واجه مستخدمو Windows خطراً إضافياً بآلية ثبات عند بدء التشغيل تضمن بقاء البرمجية الخبيثة نشطة وتعمل تلقائياً بعد كل إعادة تشغيل للنظام.
نصحت PyPI المستخدمين بتخفيض الإصدار إلى النسخة النظيفة المؤكدة 4.87.0 فوراً، والتعامل مع الأنظمة المتأثرة على أنها مخترقة محتملة. بالإضافة إلى ذلك، يوصى بشدة بتغيير كلمات المرور لجميع الحسابات التي يمكن الوصول إليها من الأجهزة المتأثرة.
الستيجانوغرافيا باستخدام ملفات WAV: إخفاء البرمجيات الخبيثة داخل ملفات صوتية
كان التحول التقني الأبرز في هذا الهجوم هو طريقة إخفاء TeamPCP للحمولة الخبيثة لسرقة بيانات الاعتماد داخل ملفات صوتية من نوع WAV. على عكس الهجوم السابق على LiteLLM، حيث تم تضمين المحصد مباشرة في الكود المصدري كـ “Base64 blob”، فإن نسخة Telnyx كانت تقوم بتنزيل البرمجية الخبيثة وقت التشغيل من خادم قيادة وتحكم (C&C).
كانت الحمولة مخفية داخل ملفات WAV سليمة هيكليًا، مما يسمح لها بتجاوز فحوصات نوع MIME القياسية، وفلاتر امتداد الملفات، ويمنع ظهور أي منطق للمحصد في الكود المصدري للحزمة. هذا الأسلوب جعل التحليل الثابت للحزمة غير فعال تمامًا، حيث لم تكن منطق السرقة الفعلي موجودًا في الكود.
تفاصيل تقنية لتجاوز التحليل
تمكنت الشفرة الخبيثة من تنزيل ملف WAV، وفك تشفيرها، وتنفيذ الحمولة الناتجة. عملت عملية الاستخراج عن طريق قراءة إطارات الصوت الخام باستخدام وحدة wave في Python، ثم فك ترميز بيانات Base64 وتقسيمها: أول 8 بايتات عملت كمفتاح XOR، بينما شكلت البايتات المتبقية الحمولة المشفرة. تم XOR كل بايت مقابل مفتاح XOR المتغير لاستعادة حمولة واضحة.
تم تقسيم الشفرة الضارة أيضًا عبر ثلاثة مواقع منفصلة في ملف _client.py، مما زاد من صعوبة اكتشافها عند الفحص البصري السريع.
على نظام Windows، قامت الحمولة بتثبيت ملف تنفيذي مشوه باسم msbuild.exe في مجلد بدء التشغيل (Startup folder) لضمان الثبات عند بدء التشغيل. تنصح المؤسسات بالبحث عن عمليات تنزيل غير متوقعة لملفات WAV من عناوين IP غير مرتبطة بالوسائط عبر منفذ 8080، واتصالات HTTP صادرة تحمل ترويسة X-Filename: tpcp.tar.gz، وأي ملفات msbuild.exe تظهر في مجلدات بدء تشغيل المستخدمين.
يجب تثبيت جميع تبعيات PyPI باستخدام التجزئة (hash)، ويجب مراقبة مسارات CI/CD بشكل نشط بحثًا عن تنزيلات غريبة لملفات صوتية أو اتصالات صادرة غير متوقعة.

