CVE-2021-42694
يقوم هذا البرنامج النصي بتنفيذ أداة كشف عن الحروف المتشابهة (Homoglyph) تستخدم بشكل أساسي للكشف عن الثغرة CVE-2021-42694 المحتملة في الكود. اسمح لي بشرح وظائفها الرئيسية بالتفصيل:
الوظائف الأساسية:
- كشف هجمات استبدال الحروف المتشابهة في الكود
- مسح أسماء المتغيرات والدوال وغيرها من المعرفات في ملفات بايثون
- التعرف على أحرف يونيكود المتشابهة بصريًا ولكنها مختلفة فعليًا
المكونات الرئيسية:
- فئة
HomoglyphDetector: الفئة الرئيسية للكاشف
- الحصول على البيانات: جلب بيانات Confusables من موقع يونيكود الرسمي
- مسح الملفات: يدعم مسح ملف واحد أو دليل كامل
سير العمل:
- تحميل بيانات Confusables من يونيكود تلقائيًا عند التشغيل الأول
- تحليل البيانات وإنشاء جدول مقارنة الحروف المتشابهة
- مسح المعرفات في ملفات الكود
- التحقق من وجود حروف متشابهة في كل معرف
- إنشاء تقرير كشف مفصل
عملية الكشف التفصيلية:
Apply to homoglyph_de...
مثال: كشف مثل هذا الكود:
user_name = "John" # كود عادي
usеr_name = "John" # كود يحتوي على حروف متشابهة (е هو حرف سيريلي)
نتائج الإخراج:
- عرض مسارات الملفات المشبوهة
- عرض المعرفات المشبوهة
- عرض أزواج الحروف المتشابهة المحددة (مثال: n -> η)
الميزات الأمنية:
- تحديث بيانات يونيكود تلقائيًا
- آلية التخزين المؤقت المحلي
- معالجة مفصلة للأخطاء
الغرض الرئيسي من هذه الأداة هو مساعدة المطورين على اكتشاف هجمات الحروف المتشابهة المحتملة في الكود، والتي قد تؤدي إلى:
- تشويش الكود
- ثغرات أمنية
- صعوبة الصيانة
- إدخال كود ضار محتمل
باستخدام هذه الأداة، يمكن للمطورين:
- التأكد من أن المعرفات المستخدمة في الكود آمنة
- منع هجمات استبدال الحروف المتشابهة
- تحسين قابلية صيانة الكود وأمانه