تخطٍّ إلى المحتوى

شرح قرارات أمن الإصدار

يجيب قرار أمن الإصدار عن سؤال واحد: هل يحقق إصدار بعينه المعيار الأمني الذي اتفق عليه الفريق — بناءً على الأدلة التي يشترطها، والأدلة التي وصلت فعلًا، والمخاطر التي قبلها، وسياسة الإصدار لديه؟ تعرّف هذه الإجابات المصطلحات وتوضح كيف تطبّقها Fendix.

روجعت في أكتوبر 2026 مقابل إصدار المحرك v3.6.3.

ما هي Fendix؟

Fendix منصة لقرارات أمن التطبيقات. تجمع الأدلة الأمنية — تحليل SAST وDAST وSCA والأسرار الخاص بها، إضافةً إلى ملفات SARIF المستوردة من أدواتك — مع التغطية المطلوبة وتصنيف النتائج والمخاطر وسياسة الإصدار لديك، وتعيد قرار إصدار قابلًا للتفسير: PASS أو WARN أو BLOCK أو INCOMPLETE.

للقرار أربعة مدخلات: الأدلة الأمنية، والتغطية التي تشترطها السياسة، وطريقة التعامل مع كل نتيجة (الثقة والاستثناءات والمخاطر المقبولة)، وسياسة الإصدار المحفوظة مع شيفرتك. ويمكن حفظ النتيجة كسجل قرار أمني، فيبقى منطق الإصدار قابلًا للمراجعة لاحقًا.

كيف يعمل نموذج القرار

ما منصة قرارات أمن التطبيقات؟

برمجيات مخرجاتها قرار إصدار لا قائمة نتائج. تأخذ الأدلة الأمنية من مصادر متعددة، وتقيّمها مقابل التغطية المطلوبة وسياسة الإصدار، وتوضح هل ينبغي نشر الإصدار.

تجيب أدوات الفحص والتجميع وإدارة الوضع الأمني كلٌّ عن جزء من السؤال: ما الذي وُجد، وأين، وما خطورته. أما منصة القرار فتجيب عن الجزء الأخير: بناءً على كل ذلك، هل يحقق هذا الإصدار المعيار؟ ولكي يُوثق بالإجابة يجب أن تكون قابلة للتكرار (الأدلة نفسها والسياسة نفسها تعطيان النتيجة نفسها) وقابلة للتفسير (يرى أي شخص القاعدة والأدلة التي أنتجتها).

النتائج وقرارات الإصدار

ما الفرق بين البوابة الأمنية وقرار الإصدار؟

عادةً ما تُفشل البوابة الأمنية المسار عندما تتجاوز نتيجةٌ عتبة الخطورة. أما قرار الإصدار فيسأل أيضًا: هل الأدلة المطلوبة موجودة؟ وهل تدعم أدلة كل نتيجة حظر الإصدار؟ وما المخاطر التي قُبلت عن وعي؟

قد تُمرّر بوابة الخطورة وحدها إصدارًا لم يعمل فيه فحص الاعتماديات قط، وقد تحظر إصدارًا بسبب نتيجة غير مؤكدة في شيفرة اختبار. ما زالت CLI في Fendix تُفشل البناء عبر رمز الخروج، لكن النتيجة التي تبلغ العتبة لا تحظر إلا إذا دعمتها أدلتها، ويمكن لفجوات التغطية أن تُفشل البناء وحدها. وتجمع مساحة العمل المستضافة الأمرين في قرار واحد: PASS أو WARN أو BLOCK أو INCOMPLETE.

أضف Fendix إلى CI

هل يجب أن تحظر ثغرة HIGH الإصدار دائمًا؟

ليس بالخطورة وحدها. تصف الخطورة الأثر المحتمل، أما توقيف الإصدار بسبب نتيجة فيعتمد على دعم الأدلة لها وعلى السياسة التي تضعها.

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

السياسة والثقة

ما التغطية الأمنية المطلوبة؟

مجموعة المحللات التي يجب أن تعمل وترسل نتائجها ليكون قرار الإصدار صالحًا — مثل التحليل الساكن وفحص الاعتماديات عند تغيير الشيفرة.

يسجّل كل محلل في Fendix ما إذا كان قد عمل، وإن لم يعمل فلماذا. والإصدار الذي لا نتائج فيه لكن فحص اعتمادياته لم يعمل لم يثبت أنه نظيف؛ بل لم يُفحص أصلًا. يمكن لـCLI أن تُفشل البناء عند هذه الفجوات عبر --require-analyzers أو --fail-on-coverage-gap، ويعرضها القرار المستضاف على أنها INCOMPLETE.

التغطية

ماذا يعني INCOMPLETE؟

يعني INCOMPLETE أن القرار لا يمكن اتخاذه لأن أدلة مطلوبة غائبة: محلل تشترطه السياسة أخفق أو تعذّر أو لم يرسل نتيجته، أو أن التشغيل نفسه لم يكتمل.

ليس نجاحًا ولا تحذيرًا عن قصد. وإذا وُجدت نتيجة حاظرة مؤكدة أيضًا فالقرار BLOCK وتبقى فجوة التغطية في السجل. ويُعالَج INCOMPLETE بتوفير الأدلة الغائبة، أو باستثناء محدود المدة يعتمده شخص غير مقدّم الطلب — ولا يعيد الاستثناء وصف الإصدار بأنه مكتمل أبدًا.

اشترط التغطية في CI

كيف تُدار المخاطر الأمنية المقبولة في CI/CD؟

سجّلها مع سبب، ومن قبلها، وتاريخ انتهاء، وأبقِ النتيجة ظاهرة، وأعدها للمراجعة عند انتهاء القبول.

في مساحة العمل المستضافة في Fendix يتطلب قبول المخاطر سببًا وتاريخ انتهاء مستقبليًا ويسجّل من قبلها؛ وتبقى النتيجة ظاهرة وتُعاد فتحها تلقائيًا عند انتهاء القبول. أما استثناء الإصدار لقرار BLOCK أو WARN أو INCOMPLETE فيحتاج إلى اعتماد مسؤول آخر، ولا تتجاوز مدته 30 يومًا، ويبطل إذا تغيّرت الأدلة. ولا يستبدل أيٌّ منهما التقييم الأصلي. وفي CLI يمكن لقواعد .fendix-ignore أن تحمل تاريخ until: لتنتهي الاستثناءات أيضًا.

سجلات القرار والمخاطر المقبولة

ما سجل القرار الأمني؟

النتيجة المكتوبة لقرار إصدار واحد: الإصدار الذي يغطيه، والقرار وأسبابه، والأدلة والتغطية المطلوبة التي يستند إليها، وإصدار السياسة الذي اتُّخذ بموجبه.

تحفظ مساحات العمل المستضافة كل قرار مع مبرراته. وفي Managed CI، المتاح حاليًا بشكل محدود، يُحفظ كل قرار كسجل غير قابل للتعديل يمكن التحقق من بصمته، ويسمّي الإيداع وبناء المحرك وإصدارات السياسة الدقيقة ومبررات كل نتيجة؛ وتُنشئ التصحيحات مراجعات جديدة بدل تعديل السجل.

اطّلع على نموذج لسجل القرار الأمني

كيف تختلف Fendix عن أداة فحص الثغرات؟

تعرض أداة الفحص ما وجدته. وFendix تشغّل أدوات فحص أيضًا — DAST وSAST وSCA وتحليل الأسرار — لكنها تعامل مخرجاتها كأدلة لقرار، إلى جانب ملفات SARIF من الأدوات التي تستخدمها.

تتداخل الفئات، لذا من المفيد مقارنتها بالسؤال الذي تجيب عنه كل منها.

فئات أدوات أمن التطبيقات حسب السؤال الذي تجيب عنه
الفئةالسؤال الذي تجيب عنهالمخرجات المعتادة
أداة فحص الثغراتما الخلل في هذا الهدف؟قائمة نتائج
SASTما الأنماط الخطرة في هذه الشيفرة؟نتائج مربوطة بالملفات والأسطر
DASTكيف يستجيب التطبيق العامل للهجمات؟نتائج من السلوك الحي
SCAأي الاعتماديات فيها ثغرات معروفة؟مكونات وإصدارات معرّضة
ASPMما وضعنا الأمني عبر التطبيقات والأدوات؟نتائج مجمّعة ومرتبة وعروض للوضع الأمني
بوابة أمنية في CIهل تجاوزت أي نتيجة العتبة؟رمز خروج بالنجاح أو الإخفاق
منصة قرارات أمن التطبيقاتهل يحقق هذا الإصدار سياستنا بناءً على الأدلة التي نشترطها؟قرار إصدار واحد مفسَّر وسجله

تتضمن Fendix تحليل SAST وDAST وSCA والأسرار الخاص بها، وتعمل CLI فيها كبوابة CI. وما تضيفه هو طبقة القرار فوق ذلك.

حالات الاستخدام

كيف تستخدم Fendix تحليل SAST وDAST وSCA معًا؟

كأدلة للقرار نفسه. يسهم كل محلل بنتائجه، واتفاقها إشارة داعمة واحدة من عدة إشارات، وليس شرطًا.

يرى التحليل الساكن شيفرة قد لا تعمل أبدًا، ويرى الاختبار الديناميكي السلوك دون سببه، ويرى تحليل الاعتماديات المكونات دون معرفة هل تُستخدم. وعندما يرصد اختبار حي وتحليل الشيفرة المشكلة نفسها، يمكن لهذا التعاضد أن يدعم الحظر. وقد تكفي إشارة قوية واحدة وحدها — بيانات اعتماد في شيفرة الإنتاج، أو اختبار أكّدته الحمولة.

الأدلة والترابط

هل يقرر الذكاء الاصطناعي نشر الإصدار؟

لا. قرار الإصدار في Fendix حتمي: لا يشارك أي نموذج ذكاء اصطناعي في اكتشاف النتائج أو حساب الثقة أو تقرير PASS أو WARN أو BLOCK أو INCOMPLETE.

الأدلة نفسها والسياسة نفسها تعطيان القرار نفسه دائمًا، ويعود كل سبب إلى قاعدة. وتتضمن مساحة العمل المستضافة مساعدًا اختياريًا اسمه Fenn يشرح النتائج ويقترح إرشادات المعالجة عند الطلب؛ ولا يستطيع تغيير قرار أو تعديل شيفرتك.

نموذج القرار

هل يمكن تشغيل Fendix محليًا؟

نعم. تعمل أداة CLI مفتوحة المصدر (رخصة MIT) على Linux وmacOS، محليًا أو في CI لديك، دون حساب ودون قياس استخدام.

تُحلَّل الشيفرة المصدرية على أجهزتك ولا تُرفع. وترسل فحوص الاعتماديات أسماء الحزم وإصداراتها إلى خدمات الثغرات والوحدات العامة. وتضيف مساحة العمل المستضافة السجل، وقرار الإصدار رباعي الحالات، وقبول المخاطر، ومسارات عمل الفريق؛ وتُبقي المشغّلات المستضافة لدى العميل في خطة Enterprise الفحص داخل شبكتك.

يعتمد السلوك دون اتصال على المحللات التي يفعّلها الفحص. يفحص الخيار --offline اعتماديات PyPI وnpm الأصلية مقابل نسخة محلية ويتخطى govulncheck، لكن في الإصدار v3.7.0 لا يصل هذا الخيار إلى فحص اعتماديات Python الذي يفعّله فحص الشيفرة، فقد يشغّل أدوات تتصل بالشبكة ما لم تضف --python-engine=false أو --checks auth,injection. ويمكن للإضافات الخارجية التي تثبّتها أن تُجري اتصالاتها الخاصة، ويتخطاها الخيار --no-plugins.

البدء

هل ترسل Fendix الشيفرة المصدرية إلى مزوّد ذكاء اصطناعي؟

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

تُرسل الرسائل التي يكتبها المستخدمون كما هي، فلا تلصق فيها بيانات اعتماد. ولا تشارك قرارات الإصدار المساعدَ أبدًا.

الخصوصية ومعالجة البيانات

هل تقدّم Fendix واجهة برمجية عامة (API)؟

لا توجد واجهة HTTP برمجية عامة. تُؤتمت Fendix عبر أداة CLI ورموز خروجها وتقارير JSON وSARIF وتكاملات CI/CD، وعبر بيانات اعتماد التكامل التي تنشر فحوصات CI في مساحة عملك.

الواجهة الخلفية لمساحة العمل المستضافة عقد خدمة خاص يتغير مع المنتج، ولا تُوثَّق كواجهة برمجية للمطورين. أما العقود الثابتة فهي أداة CLI وخياراتها، و.fendix.yaml، ورموز خروج العملية، ومخطط تقرير JSON بالإصدار 2، وSARIF.

كيف تفرض Fendix القرارات في مسارات CI/CD

هل يمكن أن تساعد Fendix في أدلة الأمن المطلوبة في السعودية؟

نعم، كأدلة: تسجّل Fendix اختبارات أمن التطبيقات وإدارة الثغرات وقرارات الإصدار والمخاطر المقبولة، وهي سجلات يمكن أن تعتمد عليها مراجعات الأمن والامتثال لديك.

يحتفظ كل فحص بأدلته وتغطيته وقراره، وتحتفظ المخاطر المقبولة واستثناءات الإصدار بمن اعتمدها وحتى متى. وتتوفر الواجهة وتقارير HTML بالعربية والإنجليزية (وتبقى مخرجات JSON وSARIF وPDF بالإنجليزية). أما استيفاء سجل ما لضابط معيّن فيعود إلى تقييمك الخاص.

ما تخزّنه Fendix وأين تعمل وما لا تشهد به

هل تضمن Fendix الامتثال؟

لا. لا تحمل Fendix أي اعتماد من جهة خارجية مثل SOC 2 أو ISO 27001، ولا تشهد بامتثالك لأي معيار أو تنظيم، بما في ذلك متطلبات الهيئة الوطنية للأمن السيبراني أو البنك المركزي السعودي.

تعني نتيجة PASS أن الأدلة التي طلبتها استوفت سياسة الإصدار التي وضعتها، وليست ضمانًا للأمان ولا شهادة امتثال ولا موافقة بشرية.

حدود الامتثال في مركز الثقة

ماذا يُظهر قياس الدقة الحالي لـ Fendix؟

يُظهر أن المحرك الحالي يرصد كل حالة ثغرة في مجموعة اختبارات SAST الاصطناعية الخاصة به ولا ينبّه على أي حالة آمنة. وهو فحص على مجموعة بيانات مضبوطة، لا مقياس لدقة الإنتاج.

المحرك v3.6.3: 38 نتيجة إيجابية صحيحة، و0 إيجابية خاطئة، و0 سلبية خاطئة، و18 سلبية صحيحة على 56 حالة موسومة، بنتائج متطابقة في 4 تشغيلات لأداة القياس الخاصة بوسم الإصدار. ولا يقول شيئًا عن DAST أو فحص الاعتماديات، كما أن المجموعة نفسها تضبط CI الخاص بالمحرك، لذا فالنتيجة الكاملة هي الحالة المتوقعة. أما الملاحظات الواقعية في صفحة الدقة فتعود إلى المحرك v0.11.0 وموسومة بأنها تاريخية.

القياس كاملًا مع مصدره وحدوده

شاهد هذه الإجابات مطبّقة على أحد إصداراتك