إصدار المخطط الصارم الحالي لملف .fendix.yaml هو 1. تُرفض الحقول غير المعروفة والإصدارات المستقبلية غير المدعومة.
أقل تهيئة صالحة
.fendix.yaml
version: 1سياسة إصدار شائعة
.fendix.yaml
version: 1
fail_on: HIGH
ignore_path: .fendix-ignore
scan:
enforce_confidence: true
deescalate_tests: trueالأولوية
تطبّق Fendix القيم الافتراضية، ثم القيم الموجودة في .fendix.yaml، ثم خيارات CLI التي مررها المستخدم صراحة فقط. ولا تستبدل قيمة CLI غير المعدّلة قيمة الملف.
defaults→.fendix.yaml→explicit CLI flags
حقول المستوى الأعلى
مرّر أفقيًا للاطلاع على جميع الحقول.
| الحقل | النوع | الافتراضي | الإلزام | القيم المسموحة | CLI | الوصف |
|---|---|---|---|---|---|---|
version | integer | 1 | مطلوب | 1 | — | إصدار مخطط التهيئة المطلوب. |
fail_on | string | — | اختياري | CRITICAL · HIGH · MEDIUM · LOW · empty | --fail-on | حد الخطورة الذي تقيّمه سياسة النتائج. |
ignore_path | string | — | اختياري | — | --ignore | مسار ملف الاستبعادات في المستودع. |
حقول scan
مرّر أفقيًا للاطلاع على جميع الحقول.
| الحقل | النوع | الافتراضي | الإلزام | القيم المسموحة | CLI | الوصف |
|---|---|---|---|---|---|---|
scan.deescalate_tests | boolean | true | اختياري | — | --deescalate-tests | يخفض نتائج شيفرة الاختبار غير المدعومة مع إبقاء الأدلة. |
scan.delay_ms | integer | 100 | اختياري | — | --delay | الفاصل بين طلبات HTTP بالمللي ثانية. |
scan.enable_active | boolean | false | اختياري | — | --enable-active | يسمح صراحة باختبارات الحقن النشطة. |
scan.enforce_confidence | boolean | true | اختياري | — | --enforce-confidence | يشترط دعم الثقة والأدلة قبل BLOCK. |
scan.format | string | json | اختياري | json · html · sarif · pdf | --format | صيغة التقرير الافتراضية. |
scan.timeout | integer | 10 | اختياري | — | --timeout | مهلة HTTP بالثواني. |
scan.workers | integer | 10 | اختياري | — | --workers | عدد عمال HTTP المتزامنين. |
حقول crawler
مرّر أفقيًا للاطلاع على جميع الحقول.
| الحقل | النوع | الافتراضي | الإلزام | القيم المسموحة | CLI | الوصف |
|---|---|---|---|---|---|---|
crawler.crawl_depth | integer | 1 | اختياري | — | --crawl-depth | عمق تتبع روابط HTML. |
crawler.max_endpoints | integer | 500 | اختياري | — | --max-endpoints | الحد الأقصى لنقاط النهاية المكتشفة. |
crawler.respect_robots | boolean | false | اختياري | — | --respect-robots | يفرض تعليمات Disallow في robots.txt. |
crawler.wordlist_path | string | — | اختياري | — | --wordlist | مسار قائمة كلمات مخصصة للاكتشاف. |
حقول budgets
مرّر أفقيًا للاطلاع على جميع الحقول.
| الحقل | النوع | الافتراضي | الإلزام | القيم المسموحة | CLI | الوصف |
|---|---|---|---|---|---|---|
budgets.max_duration | duration | 0s | اختياري | — | --max-duration | حد لين للمدة الإجمالية للفحص. |
budgets.max_requests | integer | 0 | اختياري | — | --max-requests | حد لين لإجمالي طلبات HTTP. |
حقول auth
مرّر أفقيًا للاطلاع على جميع الحقول.
| الحقل | النوع | الافتراضي | الإلزام | القيم المسموحة | CLI | الوصف |
|---|---|---|---|---|---|---|
auth.profile | string | — | اختياري | — | --profile | اسم ملف مصادقة محلي؛ لا تُحفظ البيانات السرية في سياسة المستودع. |
سلوك التحقق
- الحقل version مطلوب ويجب أن يكون موجبًا وألا يتجاوز 1.
- تفشل قراءة الحقول غير المعروفة؛ ولا تُتجاهل الأخطاء الإملائية بصمت.
- يفشل إصدار المخطط المستقبلي بوضوح حتى لا يسيء إصدار أقدم من الأداة تفسير السياسة.
إمكانات مستقرة متاحة عبر CLI فقط
لا يمكن حاليًا حفظ هذه الضوابط المستقرة في .fendix.yaml. مرّرها صراحة في الأمر أو إعداد CI.
| الإمكانية | خيارات CLI |
|---|---|
| بوابات التغطية | --fail-on-coverage-gap, --require-analyzers |
| سياسة قابلية التطبيق | --block-on-inapplicable |
| الفحص دون اتصال | --offline, --offline-db |
| نطاق التغييرات والملفات المرحّلة | --diff, --staged, --fast |
| اختيار المحللات | --checks, --python-engine, --no-native-deps |
| الاستيراد والإضافات | --import, --no-plugins, --allow-repo-local-plugins |