تم العثور على حزمة Python ضارة في مستودع Python Package Index (PyPI) لاستخدام Unicode كخدعة لتجنب الكشف ونشر برامج ضارة لسرقة المعلومات.
تم تحميل الحزمة المعنية ، المسماة onyxproxy ، إلى PyPI في 15 مارس 2023 ، وتأتي مع إمكانات حصاد بيانات الاعتماد والبيانات القيمة الأخرى وسحبها. تمت إزالته منذ ذلك الحين ، ولكن ليس قبل جذب إجمالي 183 تنزيلًا .
وفقًا لشركة Phylum لأمن سلسلة توريد البرمجيات ، فإن الحزمة تدمج سلوكها الضار في برنامج نصي للإعداد مليء بالآلاف من سلاسل التعليمات البرمجية التي تبدو شرعية.
تتضمن هذه السلاسل مزيجًا من الخطوط الغامقة والمائلة ولا تزال قابلة للقراءة ويمكن تحليلها بواسطة مترجم Python ، فقط لتنشيط تنفيذ البرامج الضارة المخترقة عند تثبيت الحزمة.
وأشارت الشركة إلى أن "الميزة الواضحة والفورية لهذا المخطط الغريب هي سهولة القراءة" . "علاوة على ذلك ، فإن هذه الاختلافات الواضحة لا تمنع الشفرة من العمل ، وهو ما تفعله."
أصبح هذا ممكنًا بسبب استخدام متغيرات Unicode لما يبدو أنه نفس الحرف (يُعرف أيضًا باسم homoglyphs ) لتمويه ألوانه الحقيقية (على سبيل المثال ، self مقابل 𝘀𝘦𝘭𝘧) بين وظائف ومتغيرات غير ضارة المظهر.
تم الكشف سابقًا عن استخدام Unicode لحقن الثغرات الأمنية في الكود المصدري من قبل الباحثين في جامعة كامبريدج نيكولاس باوتشر وروس أندرسون في تقنية هجوم يطلق عليها اسم Trojan Source .
ما تفتقر إليه الطريقة في التعقيد ، فهي تعوضه عن طريق إنشاء جزء جديد من التعليمات البرمجية المبهمة ، على الرغم من إظهار علامات منبهة لجهود النسخ واللصق من مصادر أخرى.
يسلط هذا التطوير الضوء على المحاولات المستمرة من جانب الجهات الفاعلة في مجال التهديد لإيجاد طرق جديدة للتسلل عبر الدفاعات القائمة على مطابقة السلسلة ، والاستفادة من "كيفية تعامل مترجم Python مع Unicode لإخفاء برامجهم الضارة."
في ملاحظة ذات صلة ، قامت شركة الأمن السيبراني الكندية PyUp بالتفصيل باكتشاف ثلاث حزم بايثون احتيالية جديدة - aiotoolbox و asyncio-proxy و pycolorz - تم تنزيلها بشكل تراكمي أكثر من 1000 مرة وتم تصميمها لاسترداد رمز غامض من خادم بعيد.