Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
C0deVari4nt — أداة تحليل بديل وتصور تقوم بمسح قواعد الأكواد بحثًا عن نقاط ضعف مماثلة | Kitploit
أدوات/GitHubGitHub/whitesquirrell/c0devari4nt
تحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةتحليل الكود
GitHubwhitesquirrell/c0devari4nt

C0deVari4nt

أداة تحليل بديل وتصور تقوم بمسح قواعد الأكواد بحثًا عن نقاط ضعف مماثلة

عرض المستودع
746منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

C0deVari4nt

Black Hat Arsenal
C0deVari4nt

وصف

C0deVari4nt هي أداة لتحليل المتغيرات وتصورها تقوم بفحص قواعد الأكواد بحثًا عن نقاط ضعف متشابهة. تستفيد الأداة من CodeQL، وهو محرك تحليل أكواد دلالي، للاستعلام عن الكود بناءً على قوالب استعلام CodeQL يتحكم بها المستخدم، وتمرر النتائج إلى واجهة العميل المبنية باستخدام vis.js وReact لمزيد من الاستكشاف والتصور. يتيح ذلك تحليلًا سريعًا وشاملًا للمتغيرات بناءً على تقارير الثغرات السابقة. توفر ميزة التصور باستخدام vis.js رؤية إضافية للمطورين حول مسارات الكود الضعيفة وتسمح لهم بتحديد أولويات المتغيرات المحتملة بفعالية.

عرض الأداة

الدوافع

سلطت حادثة Log4Shell في ديسمبر 2021 الضوء على الصعوبات التي يواجهها مطورو المصادر المفتوحة في الاستجابة لتقارير الثغرات. بعد التصحيح الأولي لـ CVE-2021-44228، والذي سمح للمهاجمين عن بُعد غير المصادق عليهم بالسيطرة على الأجهزة التي تعمل بإصدارات ضعيفة من Log4j 2، أصدرت Apache 3 تصحيحات إضافية لمعالجة الثغرات ذات الصلة والحالات الحدودية غير المعالجة.

غالبًا ما يفتقر مطورو المصادر المفتوحة إلى التدريب على المراجعة الشاملة للكود ويواجهون مشاكل في تحديد متغيرات الثغرة، مما يؤدي إلى تصحيحات غير مكتملة. على الرغم من وجود مجموعات استعلام CodeQL لتسهيل التحليل السريع لقاعدة الكود، إلا أن النتائج التي تعيدها هذه المجموعات قد تؤدي إلى معدلات إيجابية كاذبة كبيرة. علاوة على ذلك، تعتمد هذه المجموعات على استعلامات محددة مسبقًا لا تدعم تحليل المتغيرات وليست مخصصة لقواعد الكود الفردية. ونتيجة لذلك، غالبًا ما تستجيب مشاريع المصادر المفتوحة لتقارير الثغرات بطريقة مجزأة تفوت المتغيرات المحتملة.

توفر C0deVari4nt منصة للمطورين لإجراء تحليل المتغيرات بسهولة دون العبء الكبير لكتابة استعلامات CodeQL الخاصة بهم. يمنح هذا المطورين المرونة لتخصيص قوالب CodeQL من خلال توفير معلومات خاصة بقاعدة الكود مثل مصدر معين ومستنزف لثغرة ما. سيتم تصور النتائج في عرض قاعدة بيانات رسم بياني مدعوم من vis.js ليتمكن المطورون من تحديد المتغيرات المحتملة بسرعة. وبالتالي، سيكون المطورون قادرين على معالجة فئات كاملة من الأخطاء من تقرير ثغرة واحد بفعالية.

مكونات الأداة

تم بناء C0deVari4nt باستخدام بايثون وCodeQL وvis.js وReact لإنشاء تطبيق واجهة مستخدم رسومية تفاعلي لأخذ مدخلات المستخدم وعرض العلاقات بين مسارات الكود الضعيفة المختلفة.

هندسة الأداة

تتكون C0deVari4nt من المكونين الرئيسيين التاليين:

  • واجهة العميل: تم بناء هذا المكون باستخدام React ومكتبة التصور المستندة إلى المتصفح vis.js. يتفاعل المستخدمون مع هذا المكون لتخصيص استعلام CodeQL وتحليل نتائج CodeQL من خلال عرض تصور بياني.
  • خادم API: تم بناء هذا المكون على إطار عمل Python FastAPI لاستقبال الطلبات من واجهة العميل وتشغيل أوامر CodeQL ضد قائمة من ملفات قواعد البيانات الجاهزة لـ CodeQL. ثم يقوم الخادم بإرجاع نتائج البيانات المحللة إلى واجهة العميل.

يمكن رؤية المزيد من التفاصيل حول واجهة العميل أدناه: هندسة الأداة

الاستخدام v1

إعداد مجلد قاعدة البيانات

  • انتقل إلى دليل api-server وقم بتشغيل dbextractor.py <codeql db zip file> لفك ضغط محتويات قاعدة بيانات CodeQL

تشغيل الخادم الخلفي

  • انتقل إلى api-server
  • قم بتنزيل التبعيات pip install -r requirements.txt
  • قم بتشغيل uvicorn main:app --reload لبدء خادم التطوير المحلي على المنفذ 8000

تشغيل واجهة React

  • انتقل إلى react-gui
  • قم بتنزيل التبعيات npm i
  • قم بتشغيل npm start لبدء خادم التطوير المحلي

استخدام الأداة

عملية المستخدم

  • أدخل خيارات الاستعلام الخاصة بك في مربع الخيارات وانقر على تطبيق
  • انتظر بضع ثوانٍ ليقوم الخادم الخلفي بمعالجة الطلب
  • استخدم مربع الخصائص الأيمن لعزل المسارات وعرض خصائص العقدة

الاستخدام

تشغيل قاعدة الكود مقابل مصادر ومستنزفات محددة مسبقًا (الخيار 1)

  1. البحث عن جميع وظائف المصدر لوظائف السلسلة المحظورة (بناءً على دورة حياة تطوير الأمان (SDL) من Microsoft - استدعاءات الوظائف المحظورة)
  2. البحث عن جميع استدعاءات وظائف strcat دون فحوصات الحدود على وسيطة المصدر
  3. البحث عن جميع استدعاءات وظائف strncpy دون فحوصات الحدود على وسيطة المصدر
  4. البحث عن جميع الحالات التي لا توجد فيها فحوصات حدود على القيمة المعادة لاستدعاء snprintf
    1. مثال: عندما تصل العملية إلى نهاية المخزن المؤقت ويتم تجاهل أكثر من حرف واحد، ستكون القيمة المعادة أكبر من حجم المخزن المؤقت
  5. البحث عن جميع استدعاءات malloc أو calloc أو realloc دون تخصيص ذاكرة كافية لاحتواء نسخة من نوع المؤشر

تشغيل قاعدة الكود مقابل مصادر ومستنزفات من اختيارك (الخيار 2)

  1. البحث عن جميع تعابير المصدر إلى وظيفة مستنزفة خطيرة
  2. البحث عن وظيفة مصدر محددة إلى وظيفة مستنزفة خطيرة
  3. البحث عن وظيفة مصدر محددة إلى وظيفة مستنزفة خطيرة (وظيفة ملوثة)
    1. استخدم طريقة isAdditionalTaintStep لنقل التلوث بين وظيفتين غير متصلتين
  4. البحث عن وظيفة مصدر محددة إلى وظيفة مستنزفة خطيرة (تعبير ملوث)
    1. استخدم طريقة isAdditionalTaintStep لنقل التلوث بين المؤشرات التي لها نفس القيم في وقت التشغيل

تبسيط نتائج CodeQL والعلاقات بين العقد

يوضح ما يلي نتائج CodeQL لاستعلام مع recvfrom كمصدر، mempool_alloc كخطوة تلوث إضافية، وmemcpy كمستنزف:

neo-1

ينتج عن هذه النتيجة إجمالي 180 عقدة في 27 مسار كود مختلف. يتم عرض النتائج في واجهة neo4j بسيطة أدناه:

neo-2

من خلال وضع هذا الاستعلام عبر أداتنا، تمكنا من تحديد التكرارات لكل عقدة ومصدر ومستنزف ودمج علاقات العقد.
أدى ذلك إلى رسم بياني أنظف بشكل كبير مع إجمالي 11 عقدة فريدة مع الاحتفاظ بجميع مسارات الكود الـ 27 الفريدة:

neo-3

يمكن تصنيف النتائج بشكل أكبر إلى مساراتها الخاصة من خلال ميزة تسمية المسار لدينا:

neo-4

codevariant

تنزيل الأداة