معرّفات المحللات هي الهويات المستقرة المكتوبة في metadata.scanner_status. وهي تصف تنفيذ مصادر الأدلة، ولا تمثل فحوصات ثغرات. تحتفظ أدلة SARIF المستوردة بمصدرها ولا تُعرض كمحلل نفذته Fendix.
سجل المحللات المستقر
| معرّف المحلل | العائلة | المصدر | سجل الحالة | ما يقدمه | ينطبق عندما |
|---|---|---|---|---|---|
| dast | DAST | أصلي | كل فحص غير مستورد | يشغّل فحوصات HTTP المسجلة على نقاط النهاية المكتشفة. | عند توفير عنوان URL للهدف ونجاح اكتشاف نقاط النهاية. |
| spec | DAST | أصلي | كل فحص غير مستورد | يحمّل مواصفة API لاكتشاف نقاط النهاية وسياق المسارات المعلنة. | عند توفير مواصفة محلية أو بعيدة عبر --spec. |
| active-probes | DAST | أصلي | كل فحص غير مستورد | يسجل اختبارات الحمولة الاختيارية التي ترسلها فحوصات DAST النشطة. | عند تفعيل الاختبار النشط ووجود معاملات قابلة للاختبار في نقطة نهاية مكتشفة. |
| secrets | SAST | أصلي | كل فحص غير مستورد | يفحص نصوص المصدر والتهيئة بحثًا عن أنماط بيانات الاعتماد المضمّنة وينقح القيم السرية عند الالتقاط. | عند توفير مسار الشيفرة وعدم استبعاد الجولة بواسطة ترشيح الملفات المتغيرة. |
| textscan | SAST | أصلي | كل فحص غير مستورد | يشغّل قواعد نصية حتمية للغات والتهيئة التحتية داخل العملية. | عندما يحتوي مسار الشيفرة على نوع ملف مدعوم. |
| semgrep | SAST | هجين | كل فحص غير مستورد | يشغّل حزم قواعد Semgrep المضمّنة في Fendix عبر ملف Semgrep التنفيذي المثبّت. | عند توفير مسار الشيفرة وعدم استخدام --fast وتوفر اعتماد Semgrep. |
| govulncheck | SCA | هجين | كل فحص غير مستورد | يرصد تنبيهات Go القابلة للوصول ويحفظ مصدر OSV. | عندما يحتوي جذر الشيفرة على go.mod وتكون تبعيات المحلل الأصلي مفعلة والاتصال متاحًا. |
| pip | SCA | أصلي | كل فحص غير مستورد | يطابق مكونات Python المثبتة مع OSV أو لقطة عدم الاتصال المهيأة. | عند وجود ملف تبعيات Python مدعوم ضمن مسار الشيفرة. |
| npm | SCA | أصلي | كل فحص غير مستورد | يطابق مكونات package-lock.json مع OSV أو لقطة عدم الاتصال المهيأة. | عند وجود package-lock.json مدعوم في الجذر. |
| python-engine | ORCHESTRATION | هجين | كل فحص غير مستورد | يشرف على عملية محللات Python المطابقة للإصدار ويتحقق من مخرجات بروتوكولها. | عندما تطلب مدخلات الشيفرة أو المواصفة مرحلة Python وتتوفر شجرة المحرك والمفسّر. |
| python-engine/auth | SAST | خارجي | عندما يبلغ عنه بروتوكول Python | يسجل محصلة قواعد المصادقة التابعة لمحرك Python. | عندما يبلغ بروتوكول Python عن محلل auth التابع. |
| python-engine/injection | SAST | خارجي | عندما يبلغ عنه بروتوكول Python | يسجل محصلة قواعد الحقن التابعة لمحرك Python. | عندما يبلغ بروتوكول Python عن محلل injection التابع. |
| python-engine/deps | SCA | خارجي | عندما يبلغ عنه بروتوكول Python | يسجل محصلة أداة تبعيات Python بصورة مستقلة عن محللي pip وnpm الأصليين. | عندما يبلغ بروتوكول Python عن محلل deps التابع. |
| plugins | ORCHESTRATION | خارجي | كل فحص غير مستورد | يشغّل الملفات التنفيذية الخارجية المهيأة ويحفظ مصدر النتائج الذي تحدده الإضافة. | عند تهيئة ملف تنفيذي واحد على الأقل للإضافات. |
التنفيذ والضوابط
عند توفير عنوان URL للهدف ونجاح اكتشاف نقاط النهاية.
--url--max-duration--max-requests
عند توفير مواصفة محلية أو بعيدة عبر --spec.
--spec
عند تفعيل الاختبار النشط ووجود معاملات قابلة للاختبار في نقطة نهاية مكتشفة.
--enable-active--max-probes-per-endpoint--max-requests
عند توفير مسار الشيفرة وعدم استبعاد الجولة بواسطة ترشيح الملفات المتغيرة.
--code--diff
عندما يحتوي مسار الشيفرة على نوع ملف مدعوم.
--code--diff
عند توفير مسار الشيفرة وعدم استخدام --fast وتوفر اعتماد Semgrep.
--code--fast--semgrep-timeout
عندما يحتوي جذر الشيفرة على go.mod وتكون تبعيات المحلل الأصلي مفعلة والاتصال متاحًا.
--code--no-native-deps--offline
عند وجود ملف تبعيات Python مدعوم ضمن مسار الشيفرة.
--code--offline--vulndb
عند وجود package-lock.json مدعوم في الجذر.
--code--offline--vulndb
عندما تطلب مدخلات الشيفرة أو المواصفة مرحلة Python وتتوفر شجرة المحرك والمفسّر.
--python-engineFENDIX_ENGINE
عندما يبلغ بروتوكول Python عن محلل auth التابع.
--checks--python-engine
عندما يبلغ بروتوكول Python عن محلل injection التابع.
--checks--python-engine
عندما يبلغ بروتوكول Python عن محلل deps التابع.
--checks--python-engine--offline
عند تهيئة ملف تنفيذي واحد على الأقل للإضافات.
--plugins-dir
دور التغطية
يصدر كل فحص غير مستورد حالات المحللات الأساسية مرة واحدة. وتظهر المحللات التابعة python-engine/* عندما يبلغ عنها بروتوكول Python. توضح الحالة هل سلّم مصدر الأدلة تغطيته، ولا توضح هل وجد ثغرة.