الأدلة التقنية

ضوابط أمن التطبيقات: دليل مقترح بنطاقات وضوابط مرقمة، مربوط بضوابط NCA وOWASP ASVS

مقترح مستقل من عرب رووت بتسعين ضابطاً مرقماً لأمن تطبيقات الويب وواجهات API وخط CI/CD، لكل ضابط متطلب ودليل للمدقق، مربوط بالبنود التي يدعمها في ECC-2:2024 وCSCC وبأرقام OWASP ASVS 5.0، مع ملف Excel للتقييم الذاتي.

ضوابط أمن التطبيقات: دليل مقترح بنطاقات وضوابط مرقمة، مربوط بضوابط NCA وOWASP ASVS

لنفرض أنك مسؤول عن فريق تطوير في جهة حكومية، ووصلك مشروع بوابة خدمات جديدة على الإنترنت، وفي آخر وثيقة المشروع سطر يقول «يجب الالتزام بضوابط الهيئة الوطنية للأمن السيبراني»، فتفتح الضوابط الأساسية للأمن السيبراني ECC وتبحث عن الجزء الخاص بالتطبيقات، فتجد ضابطاً من خمسة بنود قصيرة يطلب معايير التطوير الآمن ومصادر موثوقة ومرخصة للمكتبات واختبار الامتثال والتكامل الآمن، ومكوناً فرعياً لحماية تطبيقات الويب الخارجية يطلب متطلبات موثقة ومعتمدة وجدار حماية ومعمارية متعددة المستويات وHTTPS. وكل هذا صحيح ومهم، ولكن المطور الذي يجلس أمام الكود يسأل أسئلة أخرى: أي معيار للبرمجة الآمنة بالضبط؟ وما الذي يجب أن يختبر في «اختبار الامتثال»؟ وما الذي سوف يطلبه المدقق Auditor دليلاً على أن الصلاحيات صحيحة؟

وهذه الأسئلة ليست تقصيراً في الضوابط، لأن الضوابط الأساسية مكتوبة للجهة كلها، من الاستراتيجية والموارد البشرية إلى النسخ الاحتياطي والأمن المادي، فلا يتوقع منها أن تنزل إلى مستوى طلب الدمج Pull Request وتوكن الجلسة. ولكن بين «استخدام معايير التطوير الآمن» وسطر الكود مسافة كبيرة، وكل جهة تملؤها اليوم بطريقتها، وغالباً بقائمة OWASP Top 10 ومراجعة قبل الإطلاق. لذلك أقترح في هذا الدليل مجموعة ضوابط مرقمة لأمن التطبيقات، مبنية بالشكل الذي تعرفه الجهات السعودية من ضوابط الهيئة (نطاقات ثم ضوابط، ولكل ضابط هدف ومتطلب ودليل)، ومربوطة بالبند الذي تدعمه في ضوابط الهيئة وبالأرقام المقابلة في OWASP ASVS وغيره، ومع كل ضابط مقال من عرب رووت يشرح كيف تنفذه.

⚠️
هذا الدليل مقترح مستقل من عرب رووت كتبته بصفتي الشخصية، وربطته بضوابط الهيئة الوطنية للأمن السيبراني للمساعدة في تطبيقها فقط، وهو ليس وثيقة صادرة عن الهيئة ولا معتمداً منها ولا يمثلها، وليس استشارة قانونية ولا شهادة امتثال. المرجع الملزم هو وثائق الهيئة الرسمية في موقعها، وإذا اختلف شيء هنا مع نص الهيئة فنص الهيئة هو الصحيح. ونظام الترقيم ARC-ASC خاص بهذا الدليل حتى لا يخلط بأرقام ضوابط الهيئة.

وسوف نناقش في هذا المقال ما يلي:

  • ماذا تقول الضوابط الأساسية ECC-2:2024 وضوابط الأنظمة الحساسة CSCC عن أمن التطبيقات بالنص والرقم، وما الذي تقدمه حزمة أدوات الهيئة من قوالب، وأين تبقى الفجوة.
  • كيف بني الدليل: ثلاثة عشر نطاقاً Domains وتسعون ضابطاً Controls، وتشريح الضابط الواحد، ونظام الترقيم.
  • الربط Mapping مع OWASP ASVS 5.0 وOWASP Top 10:2025 وAPI Security Top 10:2023 وNIST SSDF وISO/IEC 27001:2022، وحدود كل ربط.
  • كيف تستخدم الدليل بحسب أهمية التطبيق: الدرجة، ثم مستوى ASVS، ثم الضوابط التي تلزمك.
  • النطاقات الثلاثة عشر وجدول ضوابط كل نطاق مع الروابط إلى مقالات التنفيذ.
  • مسار التبني Adoption في الجهة، والتقييم الذاتي Self-assessment بملف Excel، وملفات التحميل.
  • ما الذي لم يشمله الإصدار الأول، والترخيص، وكيف ترسل ملاحظاتك.

ماذا تقول ضوابط الهيئة عن أمن التطبيقات Application Security بالضبط؟

قبل أن أقترح أي شيء يجب أن نقرأ النص نفسه، لأن الكثير مما يقال عن «ضوابط NCA للتطبيقات» منقول من ذاكرة أو من عرض تقديمي، والأرقام في هذا القسم كلها من الوثائق الرسمية المنشورة على موقع الهيئة وقت كتابة المقال (أكتوبر 2026). والصور في هذا القسم مقتطفات قصيرة من وثائق الهيئة العامة للشرح فقط، مع رابط المصدر تحت كل صورة، والتظليل الأصفر مضاف للتوضيح وليس في الأصل.

الضوابط الأساسية للأمن السيبراني ECC-2:2024

الإصدار الحالي من الضوابط الأساسية هو ECC-2:2024، وتقول مقدمته في النسخة العربية (صفحة 6) والنسخة الإنجليزية (صفحة 7) إنها تتكون من 4 مكونات أساسية Main Domains، و28 مكوناً فرعياً Subdomains، و108 ضوابط أساسية Controls، و92 ضابطاً فرعياً Subcontrols، ولاحظ أن الإصدار الأول ECC-1:2018 كان فيه 5 مكونات أساسية و29 مكوناً فرعياً و114 ضابطاً، فإذا قرأت مرجعاً يذكر هذه الأرقام فهو يتحدث عن الإصدار القديم. والضوابط تنطبق بحسب نصها على الجهات الحكومية والجهات التابعة لها، وعلى جهات القطاع الخاص التي تملك أو تشغل أو تستضيف بنى تحتية وطنية حساسة، وتشجع الهيئة بقية الجهات على الاستفادة منها.

ومن بين هذه الضوابط المئة والثمانية يوجد ضابط واحد مخصص لمشاريع تطوير البرمجيات، هو الضابط 1-6-3 داخل المكون الفرعي 1-6 «الأمن السيبراني ضمن إدارة المشاريع المعلوماتية والتقنية» (صفحة 13 في النسخة العربية، وصفحة 16 في الإنجليزية)، والصورة التالية تبين نص المكون الفرعي كما هو في النسخة العربية، والجزء المظلل بالأصفر هو الضابط 1-6-3 ببنوده الخمسة:

لقطة من جدول المكون الفرعي 1-6 الأمن السيبراني ضمن إدارة المشاريع المعلوماتية والتقنية في الضوابط الأساسية للأمن السيبراني ECC-2:2024، صفحة 13. الهدف: التأكد من أن متطلبات الأمن السيبراني مضمنة في منهجية وإجراءات إدارة مشاريع الجهة لحماية السرية وسلامة الأصول المعلوماتية والتقنية للجهة ودقتها وتوافرها. الضابط 1-6-1 تضمين متطلبات الأمن السيبراني في منهجية وإجراءات إدارة المشاريع وإدارة التغيير، والضابط 1-6-2 متطلبات إدارة المشاريع والتغييرات: 1-6-2-1 تقييم الثغرات ومعالجتها، و1-6-2-2 إجراء مراجعة للإعدادات والتحصين وحزم التحديثات قبل إطلاق وتدشين المشاريع والتغييرات. والمظلل بالأصفر الضابط 1-6-3: يجب أن تغطي متطلبات الأمن السيبراني لمشاريع تطوير التطبيقات والبرمجيات الخاصة للجهة بحد أدنى ما يلي: 1-6-3-1 استخدام معايير التطوير الآمن للتطبيقات (Secure Coding Standards). 1-6-3-2 استخدام مصادر مرخصة وموثوقة لأدوات تطوير التطبيقات والمكتبات الخاصة بها (Libraries). 1-6-3-3 إجراء اختبار للتحقق من مدى استيفاء التطبيقات للمتطلبات الأمنية السيبرانية للجهة. 1-6-3-4 أمن التكامل (Integration) بين التطبيقات. 1-6-3-5 إجراء مراجعة للإعدادات والتحصين (Secure Configuration and Hardening) وحزم التحديثات قبل إطلاق وتدشين التطبيقات. ثم الضابط 1-6-4 يجب مراجعة متطلبات الأمن السيبراني في إدارة المشاريع في الجهة دورياً
نص الضابط 1-6-3 من الضوابط الأساسية للأمن السيبراني ECC-2:2024، النسخة العربية، صفحة 13، والتظليل مضاف للتوضيح

ولاحظ أن البنود الخمسة تقول ماذا تريد الجهة ولا تقول كيف، فالبند 1-6-3-1 يطلب «معايير التطوير الآمن» دون أن يسمي معياراً، والبند 1-6-3-3 يطلب اختباراً لمتطلبات الجهة دون أن يحدد هذه المتطلبات، وهذه بالضبط المسافة التي يحاول هذا الدليل أن يملأها.

والجزء الثاني هو المكون الفرعي 2-15 «حماية تطبيقات الويب Web Application Security» (صفحة 21 في العربية، وصفحة 28 في الإنجليزية)، وهدفه ضمان حماية تطبيقات الويب الخارجية للجهة من المخاطر السيبرانية، والصورة التالية تبين نصه الكامل، وفيه أربعة ضوابط مظللة بالأصفر:

لقطة من جدول المكون الفرعي 2-15 حماية تطبيقات الويب (Web Application Security) في الضوابط الأساسية للأمن السيبراني ECC-2:2024، صفحة 21. الهدف: ضمان حماية تطبيقات الويب الخارجية للجهة من المخاطر السيبرانية. والمظلل بالأصفر الضوابط الأربعة: 2-15-1 يجب تحديد وتوثيق واعتماد متطلبات الأمن السيبراني لحماية تطبيقات الويب الخارجية للجهة من المخاطر السيبرانية. 2-15-2 يجب تطبيق متطلبات الأمن السيبراني لحماية تطبيقات الويب الخارجية للجهة. 2-15-3 يجب أن تغطي متطلبات الأمن السيبراني لحماية تطبيقات الويب الخارجية للجهة بحد أدنى ما يلي: 2-15-3-1 استخدام جدار الحماية لتطبيقات الويب (Web Application Firewall). 2-15-3-2 استخدام مبدأ المعمارية متعددة المستويات (Multi-tier Architecture). 2-15-3-3 استخدام بروتوكولات آمنة (مثل بروتوكول HTTPS). 2-15-3-4 توضيح سياسة الاستخدام الآمن للمستخدمين. 2-15-3-5 التحقق من الهوية على أن يتم تحديد عناصر التحقق المناسبة وعددها وكذلك تقنيات التحقق المناسبة بناء على نتائج تقييم الأثر المحتمل لفشل عملية التحقق وتخطيها، وذلك لعمليات دخول المستخدمين. 2-15-4 يجب مراجعة متطلبات الأمن السيبراني لحماية تطبيقات الويب للجهة من المخاطر السيبرانية دورياً
نص المكون الفرعي 2-15 من الضوابط الأساسية للأمن السيبراني ECC-2:2024، النسخة العربية، صفحة 21، والتظليل مضاف للتوضيح

والضابطان 2-15-1 و2-15-2 يطلبان أن تكتب الجهة متطلبات حماية تطبيقات الويب وتعتمدها ثم تطبقها، أما الحد الأدنى لهذه المتطلبات فهو في بنود 2-15-3 الخمسة، من جدار الحماية لتطبيقات الويب Web Application Firewall والمعمارية متعددة المستويات Multi-tier Architecture وHTTPS إلى التحقق من الهوية بناء على تقييم الأثر، ثم يأتي 2-15-4 بالمراجعة الدورية. ولاحظ أن البند الأخير في الإصدار الأول كان «التحقق من الهوية متعدد العناصر لعمليات دخول المستخدمين»، وأصبح في الإصدار 2024 مبنياً على تقييم الأثر.

وهناك ضوابط أخرى في ECC تلمس التطبيقات دون أن تكون مخصصة لها، مثل إدارة الهويات والصلاحيات 2-2، والتشفير 2-8 الذي يحيل إلى المعايير الوطنية للتشفير، وإدارة الثغرات 2-10، واختبار الاختراق 2-11 الذي يشمل نطاقه تطبيقات الويب وتطبيقات الهواتف، وإدارة سجلات الأحداث 2-12 بمدة احتفاظ لا تقل عن 12 شهراً، وتدريب العاملين على تطوير البرمجيات في 1-10-4-2، وسوف تجد كل هذه الأرقام في عمود الربط داخل الدليل.

ضوابط الأمن السيبراني للأنظمة الحساسة CSCC

إذا كان التطبيق نظاماً حساساً Critical System فعليه أيضاً ضوابط الأمن السيبراني للأنظمة الحساسة في إصدارها CSCC-1:2019 (وهذا رابط النسخة الإنجليزية، والنسخة العربية منشورة أيضاً في صفحة الضوابط على موقع الهيئة)، وهي امتداد للضوابط الأساسية وتتكون بحسب صفحة 12 من النسخة الإنجليزية من 4 مكونات أساسية و21 مكوناً فرعياً و32 ضابطاً أساسياً و73 ضابطاً فرعياً. وفي الضابط 1-3-2 (صفحة 15 في النسخة العربية، وصفحة 21 في الإنجليزية) تضيف إلى بنود 1-6-3 في ECC أربعة بنود، والصورة التالية تبين نصه، والبنود الأربعة مظللة بالأصفر:

لقطة من جدول الضابط 1-3-2 في ضوابط الأمن السيبراني للأنظمة الحساسة CSCC-1:2019، النسخة العربية، صفحة 15. نص الضابط: بالإضافة للضوابط الفرعية ضمن الضابط 1-6-3 في الضوابط الأساسية للأمن السيبراني، يجب أن تغطي متطلبات الأمن السيبراني لمشاريع تطوير التطبيقات والبرمجيات الخاصة بالأنظمة الحساسة للجهة، بحد أدنى، ما يلي. والمظلل بالأصفر البنود الأربعة: 1-3-2-1 إجراء مراجعة أمنية للشفرة المصدرية قبل إطلاقها (Security Source Code Review). 1-3-2-2 تأمين الوصول والتخزين والتوثيق للشفرة المصدرية (Source Code) وإصداراتها. 1-3-2-3 تأمين واجهة برمجة التطبيقات (Authenticated API). 1-3-2-4 النقل الآمن والموثوق للتطبيقات من بيئات الاختبار (Testing Environment) إلى بيئات الإنتاج (Production Environment) مع حذف أي بيانات أو هويات أو كلمات مرور متعلقة ببيئات الاختبار قبل النقل
نص الضابط 1-3-2 من ضوابط الأمن السيبراني للأنظمة الحساسة CSCC-1:2019، النسخة العربية، صفحة 15، والتظليل مضاف للتوضيح

وهذه البنود الأربعة هي أقرب ما في ضوابط الهيئة إلى عمل المطور اليومي، فمراجعة الكود المصدري Source Code Review قبل الإطلاق وحماية المستودع وتأمين واجهات API والترحيل النظيف إلى الإنتاج Production دون بيانات الاختبار وحساباته تجدها كلها مربوطة بضوابط في نطاقات الدليل 08 و10 و11 كما سيأتي.

وفي المكون 2-12 لتطبيقات الويب (صفحة 27 في النسخة الإنجليزية) تضيف إدارة الجلسات الآمنة والحد الأدنى من معايير OWASP Top Ten، وتجعل المعمارية متعددة المستويات بثلاثة مستويات على الأقل، وفي المكون 2-13 «حماية التطبيقات Application Security» (صفحتا 27 و28) تطلب الشيء نفسه تقريباً للتطبيقات الداخلية للأنظمة الحساسة، كما تقصر المدد في مواضع أخرى، مثل اختبار الاختراق كل ستة أشهر على الأقل (2-10-2) والاحتفاظ بالسجلات 18 شهراً (2-11-2). ولاحظ أن CSCC صدرت قبل الإصدار الثاني من ECC وتشير إلى أرقامه القديمة، والأرقام التي استخدمتها هنا (1-6-3 و2-15 و2-12-3) لم يتغير ترقيمها بين الإصدارين.

ما الذي تقدمه حزمة أدوات الهيئة Cybersecurity Toolkits للجهات؟

وقد يتساءل البعض: هل تركت الهيئة الجهات دون أي تفصيل؟ والإجابة لا، فالهيئة تنشر حزمة أدوات الأمن السيبراني Cybersecurity Toolkits، وفيها قوالب Templates جاهزة تملؤها الجهة، ومنها ما يخص التطوير مباشرة: قالب سياسة دورة حياة التطوير الآمن SSDLC، وقالب معيار البرمجة الآمنة، وقالب قائمة التحقق من متطلبات الأمن السيبراني في تطوير البرمجيات، وقالب معيار حماية تطبيقات الويب. وقالب معيار البرمجة الآمنة بالتحديد مفصل أكثر مما يتوقع الكثيرون، فهو مقسم إلى تطوير الكود الآمن ومستودع الكود والمراجعة والاختبار، وفيه جدول إرشادات مرتب على فئات OWASP Top 10:2021، ويطلب استخدام OWASP ASVS دليلاً لتعريف المتطلبات وحالات الاختبار للأنظمة الحساسة. وتنشر الهيئة أيضاً الدليل الإرشادي لتطبيق الضوابط الأساسية GECC-2:2026، وفيه لكل بند من 1-6-3 و2-15 إرشادات تطبيق والمخرجات المتوقعة Expected Deliverables.

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

أين تبقى الفجوة Gap، ولماذا أقترح هذا الدليل؟

لنمر على الحلول التي تختارها أغلب الجهات أولاً، ولماذا لا تكفي وحدها:

  1. نسخ نص 1-6-3 و2-15 في وثيقة المشروع: البند يقول ماذا تريد الجهة على مستوى عال، ولا يقول للمطور ما الذي يكتبه، ولا للمختبر ما الذي يختبره، فيبقى «اختبار الامتثال» دون شيء يختبر عليه.
  2. اعتماد OWASP Top 10 كمعيار: القائمة وثيقة توعية Awareness Document بأشهر فئات المخاطر كما شرحنا في OWASP Top 10 للمبتدئين، والفئة «كسر التحكم بالوصول Broken Access Control» ليست جملة تنجح أو تفشل.
  3. ملء قالب معيار البرمجة الآمنة من حزمة الأدوات: هذه بداية جيدة جداً، ولكن القالب مثال إرشادي تقول الهيئة في إخلاء المسؤولية فيه إنه يجب أن يخصص ويعتمد، وهو مبني على OWASP Top 10:2021 والإصدار الأول من ECC، ولا يربط كل بند برقم متطلب محدد يختبر، ولا يذكر الدليل المطلوب لكل بند، ولا يغطي سلسلة التوريد وخط CI/CD بالتفصيل الذي أصبحت تحتاجه اليوم.
  4. اعتماد OWASP ASVS مباشرة: وهذا أقرب الحلول، فالمعيار فيه 345 متطلباً قابلاً للتحقق كما شرحنا في مقال ASVS ومراجعة الكود، ولكنه معيار تحقق للتطبيق نفسه، ولا يغطي الحوكمة ونمذجة التهديدات وحماية المستودع وخط CI/CD والترحيل إلى الإنتاج، ولا يقول للجهة أي بند من ضوابط الهيئة يدعمه كل متطلب.

والحل الذي أقترحه هو طبقة وسطى رقيقة: ضوابط قليلة نسبياً (تسعون ضابطاً في هذا الإصدار) بلغة الجهة وشكل ضوابط الهيئة، كل منها يقول «يجب» بجملة يمكن أن تنجح أو تفشل، ويذكر الدليل الذي يقدم للمدقق، ثم يشير إلى أرقام ASVS لمن يريد التفصيل الفني، وإلى البند الذي يدعمه في ECC أو CSCC لمن يكتب تقرير الامتثال، وإلى مقال عملي لمن سوف ينفذ. وبهذا الشكل تستطيع الجهة أن تأخذ الدليل وتضع اسمها عليه بعد تخصيصه، أو تستخدمه لملء قالب الهيئة نفسه.

كيف بني الدليل؟ نطاقات Domains وضوابط Controls مرقمة

الدليل مبني بالهيكل نفسه الذي تعرفه من ضوابط الهيئة: نطاقات Domains، وداخل كل نطاق ضوابط مرقمة، ولكل ضابط هدف ومتطلب. وأضفت لكل ضابط إرشادات قصيرة للتطبيق، وأمثلة للأدلة Evidence، وأعمدة الربط، ورابط المقال. والنطاقات ثلاثة عشر، موزعة على مراحل دورة حياة التطوير Software Development Life Cycle من المتطلبات إلى التشغيل، والصورة التالية تبين أين يقع كل نطاق:

شريط علوي متقطع بلون الباذنجان فيه النطاق 01 الحوكمة ومتطلبات الأمان يحيط بكل المراحل، وتحته ست بطاقات مرقمة من اليمين إلى اليسار لمراحل دورة حياة التطوير: 1 Requirements المتطلبات مع رسم وثيقة وفيها النطاق 01، 2 Design التصميم مع درع وفيها النطاق 02 التصميم ونمذجة التهديدات، 3 Code الكود مع حاسوب وفيها ستة نطاقات 03 البرمجة الآمنة و04 الهوية والجلسات و05 الصلاحيات و06 البيانات والتشفير و07 المدخلات والحقن و08 واجهات API، 4 Build CI/CD البناء مع ترس وفيها 09 سلسلة التوريد و10 خط CI/CD وحماية الكود، 5 Test and Release مع حشرة وفيها 11 الاختبار ومراجعة الكود، 6 Run التشغيل مع سيرفر وفيها 12 النشر والحماية و13 السجلات والجاهزية للحوادث
ستة نطاقات من الثلاثة عشر تعيش في الكود نفسه، والحوكمة تبدأ قبل أول سطر وتبقى حتى المراجعة الدورية

ونظام الترقيم ARC-ASC-DD-CC مستقل عن ترقيم الهيئة عن قصد، فالجزء ARC-ASC اختصار ArabRoot Application Security Controls، وDD رقم النطاق من 01 إلى 13، وCC رقم الضابط داخل النطاق، فالضابط ARC-ASC-05-03 هو الضابط الثالث في نطاق الصلاحيات. والسبب في عدم استخدام صيغة مثل 1-6-3 أن أي رقم يشبه أرقام الهيئة سوف يفهمه القارئ على أنه منها، وهذا ما لا أريده إطلاقاً. والصورة التالية تبين أجزاء الضابط الواحد:

بطاقة كبيرة للضابط ARC-ASC-05-03 الصلاحيات على مستوى الكائن Object-level Authorization IDOR BOLA بالدرجة الأولى والمستوى L1، وفيها صفوف مرقمة: 2 الهدف ألا يقرأ مستخدم بيانات مستخدم آخر بتغيير رقم في الرابط، 3 المتطلب يجب أن يتحقق الخادم في كل طلب يحمل معرف كائن أن الكائن يخص المستخدم أو مستأجره، 4 الإرشادات المعرفات العشوائية مثل UUID لا تغني عن الفحص، 5 الأدلة اختبار يطلب كائن مستخدم آخر ويتأكد من 403 أو 404، 6 الربط ASVS 8.2.2 L1 وA01:2025 وAPI1:2023 وISO 27001 A 8.3 وNCA ECC 2-2-3-3، 7 المقال مقال الصلاحيات المركزية، وبجانبها شرح لكل رقم، والرقم 1 يشرح الترقيم ARC-ASC ثم 05 للنطاق ثم 03 للضابط
الضابط يقرأ من الأعلى إلى الأسفل: لماذا، ثم ماذا يجب، ثم كيف، ثم ماذا تقدم للمدقق

في الضابط أعلاه لاحظ التالي:

  • الدرجة Tier: كل ضابط له درجة من 1 إلى 3 تحدد أقل أهمية للتطبيق يلزمه عندها، فالضوابط في الدرجة 1 تلزم كل التطبيقات، وسوف نشرح الدرجات في قسم الاستخدام.
  • المتطلب بصيغة «يجب»: وهي الجملة التي يحكم عليها المدقق بنجح أو فشل، أما الإرشادات فهي نصيحة للتطبيق وليست شرطاً.
  • الأدلة: أمثلة لما يقنع المدقق، وليست قائمة مغلقة، فإذا كان عندك دليل أفضل فاستخدمه.
  • عمود NCA: البند الذي يدعمه الضابط وليس البند الذي يحل محله، فالتزامك بالضابط يساعدك في إثبات البند ولا يغني عن قراءة نص الهيئة.

الربط Mapping بالمراجع: ماذا يعني كل عمود؟

كل ضابط في الدليل مربوط بستة مراجع، ولكل منها دور مختلف، والصورة التالية تبين الدليل كجسر بين ما تطلبه الهيئة وما يختبره المطور:

على اليمين عمود ماذا يطلب NCA فيه ثلاث بطاقات: ECC-2:2024 1-6-3 معايير التطوير الآمن والمصادر الموثوقة واختبار الامتثال والتكامل الآمن ومراجعة الإعدادات، وECC-2:2024 2-15 متطلبات موثقة ومعتمدة وWAF ومعمارية متعددة المستويات وHTTPS وعوامل المصادقة، وCSCC-1:2019 1-3-2 و2-12 و2-13 مراجعة الكود قبل الإطلاق وحماية الكود وتأمين API والترحيل الآمن، وفي الوسط بطاقة داكنة ARC-ASC v0.1 فيها 13 نطاقاً و90 ضابطاً مرقماً وأمثلة أرقام مثل 05-03 و10-07، وعلى اليسار عمود كيف تتحقق فيه OWASP ASVS 5.0.0 بأرقام المتطلبات ومستوياتها، وTop 10:2025 وAPI Top 10:2023 بفئات الخطر، وNIST SSDF 1.1 وISO/IEC 27001:2022 بالممارسات وضوابط الملحق A، وفي الأسفل بطاقة خضراء تقول إن تحت كل ضابط مقالاً من عرب رووت يشرح التنفيذ
الهيئة تقول ماذا، والمراجع الأخرى تقول كيف تتحقق، والمقالات تقول كيف تنفذ، والدليل يربط الثلاثة برقم واحد
  • NCA ECC-2:2024 وCSCC-1:2019: البند الذي يدعمه الضابط، وتركته فارغاً حيث لا يوجد بند مباشر بدلاً من ربط ضعيف لا يقنع أحداً. ولاحظ أن كل ضوابط الدليل التي تنطبق على تطبيق ويب خارجي هي في الحقيقة جزء من «متطلبات حماية تطبيقات الويب الخارجية» التي يطلب 2-15-1 تحديدها و2-15-2 تطبيقها، لذلك لم أكرر هذين الرقمين في كل صف.
  • OWASP ASVS 5.0.0: أرقام المتطلبات من ملف CSV الرسمي للإصدار 5.0.0 مع مستوى كل متطلب في ملف Excel، وأذكر الرقم فقط دون نسخ النص، والسبب أن نص المعيار له ترخيصه ومكانه الرسمي، وأنه يتغير بين الإصدارات، فاقرأ المتطلب دائماً من المصدر. ولاحظ أن ضابطاً من الدرجة 1 قد يذكر متطلبات من L2، وهذا مقصود، فالتطبيق في المستوى L1 يطبق من القائمة متطلبات L1 فقط.
  • OWASP Top 10:2025 وAPI Security Top 10:2023: فئة الخطر التي يمنعها الضابط، كما في قائمة 2025 وقائمة API لعام 2023، وفائدتها في التواصل مع الإدارة وفي تقارير اختبار الاختراق التي تصنف النتائج بها.
  • NIST SSDF 1.1: الممارسة أو المهمة في NIST SP 800-218، مثل PW.7 لمراجعة الكود وPS.1 لحماية الكود، وتفيد الجهة التي تبيع برمجيات لجهات تطلب SSDF.
  • ISO/IEC 27001:2022: ضابط الملحق Annex A المقابل، ومعظم ضوابط الدليل تقع في 8.25 دورة حياة التطوير الآمن، و8.26 متطلبات أمان التطبيقات، و8.27 المعمارية الآمنة، و8.28 البرمجة الآمنة، و8.29 الاختبار الأمني أثناء التطوير والقبول، و8.31 فصل البيئات، و8.32 إدارة التغيير، و8.33 بيانات الاختبار. والأرقام بحسب قائمة ضوابط الملحق A في المعيار، والمعيار نفسه غير مجاني، فراجع الربط مع نسختك المرخصة قبل استخدامه في تدقيق رسمي.
  • مقال التطبيق: مقال من عرب رووت يشرح التنفيذ بأدوات حقيقية، وبعض المقالات ما زالت في خطة النشر، وتعمل روابطها عند نشرها.

كيف تستخدم الدليل بحسب أهمية التطبيق Criticality في جهتك؟

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

على اليمين بطاقة تطبيق جديد أو قائم، وأمامها ثلاثة أسئلة: هل هو نظام حساس بحسب معايير CSCC أو عالي القيمة، نعم فهو الدرجة 3 حساس ASVS L3 وكل الضوابط التسعين مع مدد CSCC الأقصر مثل اختبار الاختراق كل ستة أشهر، هل هو خارجي أو يعالج بيانات شخصية أو مصنفة، نعم فهو الدرجة 2 قياسي ASVS L2 و87 ضابطاً، غير ذلك تطبيق داخلي منخفض الأثر الدرجة 1 أساسي ASVS L1 و56 ضابطاً هي الحد الأدنى، وتحتها خمس خطوات مرقمة: صنف التطبيق ARC-ASC-01-01، اختر المستوى ARC-ASC-01-02، فلتر الضوابط بعمود الدرجة في ملف Excel، اكتب المتطلبات واعتمدها ARC-ASC-01-03 وهي تدعم ECC 2-15-1، قيم نفسك وكرر ARC-ASC-01-07
الدرجة تحدد المستوى، والمستوى يحدد القائمة، والقائمة المعتمدة هي ما يختبر عليه التطبيق
  1. صنف التطبيق: الدرجة 3 لكل نظام ينطبق عليه تعريف الأنظمة الحساسة في CSCC أو لتطبيق عالي القيمة تقرره الجهة، والدرجة 2 لكل تطبيق خارجي أو يعالج بيانات شخصية أو مصنفة، والدرجة 1 لما بقي. وفي أغلب الجهات سوف تجد أن معظم التطبيقات المهمة في الدرجة 2.
  2. اختر مستوى ASVS: الدرجة 1 يقابلها L1، والدرجة 2 يقابلها L2، والدرجة 3 يقابلها L3، وأي انحراف يوثق في سجل القرارات.
  3. فلتر الضوابط: التطبيق في درجة معينة يطبق ضوابط درجته وما قبلها، أي 56 ضابطاً للدرجة 1، و87 للدرجة 2، والتسعين كلها للدرجة 3، ومع كل ضابط متطلبات ASVS في مستواه.
  4. اكتب وثيقة المتطلبات واعتمدها: احذف ما لا ينطبق مع ذكر السبب، وأضف ما خرجت به جلسة نمذجة التهديدات، ثم تعتمدها إدارة الأمن السيبراني، وهذه الوثيقة هي ما يطلبه 2-15-1 للتطبيقات الخارجية.
  5. قيم وكرر: سجل حالة كل ضابط ودليله قبل الإطلاق، وأعد التقييم في المراجعة الدورية وعند كل تغيير جوهري.

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

النطاقات الثلاثة عشر Domains وضوابطها

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

01 الحوكمة ومتطلبات الأمان Governance and Security Requirements

هذا النطاق يحول 1-6-3 و2-15-1 و2-15-4 إلى خطوات: تعرف درجة التطبيق، فتختار مستواه، فتكتب متطلباته وتعتمدها، ثم تحملها في التذاكر وتراجعها، ولا يعمل أي نطاق بعده دون هذا النطاق، لأن «اختبار الامتثال» في 1-6-3-3 يحتاج متطلبات معتمدة يختبر عليها.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-01-01تصنيف التطبيق حسب أهميته (Application Criticality Tier)، الدرجة 114.1.1ECC 1-5-3-1، 2-1-5
CSCC معايير تحديد الأنظمة الحساسة
ASVS ومراجعة الكود
ARC-ASC-01-02اختيار مستوى ASVS لكل تطبيق (ASVS Level Selection)، الدرجة 1لا يوجدECC 2-15-1ASVS ومراجعة الكود
ARC-ASC-01-03وثيقة متطلبات أمان معتمدة لكل تطبيق (Approved Security Requirements per Application)، الدرجة 12.1.1، 6.1.1، 8.1.1ECC 1-6-1، 1-6-3، 2-15-1
CSCC 2-13-1
ASVS ومراجعة الكود
ARC-ASC-01-04متطلبات قابلة للاختبار في التذاكر (Testable Security Acceptance Criteria)، الدرجة 1لا يوجدECC 1-6-1ASVS ومراجعة الكود
ARC-ASC-01-05الأدوار والتدريب وسفراء الأمن (Roles, Training and Security Champions)، الدرجة 1لا يوجدECC 1-10-4-2ASVS ومراجعة الكود
ARC-ASC-01-06سجل القرارات الأمنية والاستثناءات (Security Decisions and Exceptions Register)، الدرجة 27.1.1، 5.1.1ECC 1-5-1، 1-5-2ASVS ومراجعة الكود
ARC-ASC-01-07المراجعة الدورية للمتطلبات (Periodic Review of Requirements)، الدرجة 1لا يوجدECC 1-6-4، 2-15-4
CSCC 1-4-1، 2-13-4
ASVS ومراجعة الكود
ARC-ASC-01-08متطلبات الأمان في عقود التطوير الخارجي (Security Requirements in Outsourced Development)، الدرجة 2لا يوجدECC 4-1-1، 4-1-2-3سلسلة التوريد

02 التصميم الآمن ونمذجة التهديدات Secure Design and Threat Modeling

أخطاء التصميم لا تجدها أداة فحص لأنها ليست سطراً خاطئاً، وإنما سطر لم يكتب، لذلك يبدأ هذا النطاق بنمذجة التهديدات التي شرحناها في نمذجة التهديدات Threat Modeling للمبتدئين، ويغطي المعمارية متعددة المستويات من 2-15-3-2 والتكامل الآمن من 1-6-3-4.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-02-01نمذجة التهديدات قبل البناء (Threat Modeling before Build)، الدرجة 2لا يوجدECC 1-5-3-1، 1-5-3-4نمذجة التهديدات
ARC-ASC-02-02مراجعة التصميم مقابل المتطلبات (Design Review against Requirements)، الدرجة 2لا يوجدECC 1-6-1نمذجة التهديدات
ARC-ASC-02-03المعمارية متعددة المستويات (Multi-tier Architecture)، الدرجة 113.2.1، 13.2.2ECC 2-15-3-2
CSCC 2-12-2، 2-13-3-1
تصميم الأنظمة
ARC-ASC-02-04التكامل الآمن بين التطبيقات (Secure Integration between Applications)، الدرجة 113.1.1، 13.2.4، 12.3.1، …ECC 1-6-3-4تصميم الأنظمة
ARC-ASC-02-05الاعتماد على خدمات أمنية موحدة (Standard Security Services)، الدرجة 1لا يوجدECC 1-6-3-4OAuth وOIDC
ARC-ASC-02-06تصميم منطق العمل ضد الإساءة (Business Logic Abuse Cases)، الدرجة 22.1.3، 2.3.1، 2.3.2لا يوجد بند مباشرنمذجة التهديدات

03 معايير البرمجة الآمنة Secure Coding Standards

هذا النطاق هو ما يقصده 1-6-3-1 بمعايير التطوير الآمن، والضابط الأول فيه يطلب معياراً لكل لغة، وبقية الضوابط هي البنود التي تتكرر في كل لغة: الأخطاء، والكائنات، والأسرار، والدوال الخطرة، والملفات.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-03-01معيار برمجة آمنة لكل لغة وإطار (Secure Coding Standard per Language and Framework)، الدرجة 1لا يوجدECC 1-6-3-1البرمجة الآمنة
ARC-ASC-03-02معالجة الأخطاء والاستثناءات بأمان (Secure Error and Exception Handling)، الدرجة 116.5.1، 16.5.2، 16.5.3لا يوجد بند مباشرالبرمجة الآمنة
ARC-ASC-03-03البرمجة الدفاعية للكائنات والأنواع (Defensive Coding for Objects and Types)، الدرجة 115.3.1، 15.3.3، 15.3.5، …لا يوجد بند مباشرالبرمجة الآمنة
ARC-ASC-03-04لا أسرار في الكود (No Hard-coded Secrets)، الدرجة 113.3.1، 6.3.2CSCC 2-3-1-7فحص الأسرار
ARC-ASC-03-05تجنب الدوال الخطرة والتنفيذ الديناميكي (Avoid Dangerous Functions and Dynamic Execution)، الدرجة 11.3.2، 1.5.2، 15.1.5لا يوجد بند مباشرالبرمجة الآمنة
ARC-ASC-03-06التعامل الآمن مع الملفات المرفوعة (Secure File Upload and Storage)، الدرجة 15.1.1، 5.2.1، 5.2.2، …لا يوجد بند مباشررفع الملفات

04 الهوية والمصادقة والجلسات Identity, Authentication and Sessions

هنا يقع البند 2-15-3-5 الذي يربط عوامل المصادقة بتقييم الأثر، والبنود المقابلة في CSCC لكلمات المرور وحسابات الخدمة والجلسات، والفكرة الأساسية أن يدير الهوية مزود هوية Identity Provider مركزي كما شرحنا في شرح OAuth وOpenID Connect.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-04-01المصادقة من خلال مزود هوية مركزي (Central Identity Provider)، الدرجة 16.8.2، 10.5.2، 10.5.4ECC 2-2-3OAuth وOIDC
ARC-ASC-04-02عوامل المصادقة حسب تقييم الأثر (Authentication Factors by Impact)، الدرجة 16.3.3، 6.6.1ECC 2-15-3-5، 2-2-3-2
CSCC 2-2-1-3، 2-2-1-4
Passkeys
ARC-ASC-04-03سياسة كلمات المرور وتخزينها (Password Policy and Storage)، الدرجة 16.2.1، 6.2.4، 6.2.5، …CSCC 2-2-1-5، 2-2-1-6التشفير للمطورين
ARC-ASC-04-04الحماية من التخمين وحشو بيانات الدخول (Brute Force and Credential Stuffing Protection)، الدرجة 16.1.1، 6.3.1لا يوجد بند مباشرحماية HTTP
ARC-ASC-04-05استعادة الحساب بأمان (Secure Account Recovery)، الدرجة 16.4.1، 6.4.2، 6.4.3، …لا يوجد بند مباشرASVS ومراجعة الكود
ARC-ASC-04-06إدارة الجلسات (Session Management)، الدرجة 17.1.1، 7.2.1، 7.2.4، …CSCC 2-12-1-1، 2-13-3-4الجلسات وJWT
ARC-ASC-04-07التحقق من التوكنات وJWT (Token and JWT Validation)، الدرجة 19.1.1، 9.1.2، 9.1.3، …لا يوجد بند مباشرالجلسات وJWT
ARC-ASC-04-08حسابات الخدمة وأسرار التطبيقات (Service Accounts and Application Credentials)، الدرجة 213.2.3، 13.3.2، 13.3.4ECC 2-2-3-5
CSCC 2-2-1-7
IAM وPAM

05 الصلاحيات Authorization

كسر التحكم بالوصول Broken Access Control هو الفئة الأولى في OWASP Top 10:2025، وثلاث من فئات API Top 10 عن الصلاحيات، ومع ذلك لا يذكرها البند 2-15 صراحة، فهي تأتي من مبادئ 2-2-3-3 (الحاجة إلى المعرفة وأقل صلاحية وفصل المهام)، والضوابط هنا تحول هذه المبادئ إلى فحص في كل طلب.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-05-01توثيق قواعد الصلاحيات (Documented Authorization Rules)، الدرجة 18.1.1، 8.1.2ECC 2-2-3-3الصلاحيات
ARC-ASC-05-02الصلاحيات على مستوى الوظيفة (Function-level Authorization)، الدرجة 18.2.1، 8.3.1ECC 2-2-3-3الصلاحيات
ARC-ASC-05-03الصلاحيات على مستوى الكائن (Object-level Authorization (IDOR/BOLA))، الدرجة 18.2.2ECC 2-2-3-3الصلاحيات
ARC-ASC-05-04الصلاحيات على مستوى الحقل (Field-level Authorization)، الدرجة 28.2.3، 15.3.3لا يوجد بند مباشرالصلاحيات
ARC-ASC-05-05عزل المستأجرين (Tenant Isolation)، الدرجة 28.4.1لا يوجد بند مباشرتعدد المستأجرين
ARC-ASC-05-06حماية واجهات الإدارة (Administrative Interfaces)، الدرجة 28.4.2ECC 2-2-3-4، 2-2-3-5
CSCC 2-2-1-4، 2-2-2
IAM وPAM
ARC-ASC-05-07فصل المهام واعتماد أكثر من شخص (Segregation of Duties and Multi-party Approval)، الدرجة 32.3.5ECC 2-2-3-3سجل التدقيق

06 حماية البيانات والتشفير Data Protection and Cryptography

هذا النطاق يطبق داخل التطبيق ما يطلبه المكونان 2-7 و2-8 للجهة كلها، ويحيل في الخوارزميات إلى المعايير الوطنية للتشفير الصادرة من الهيئة كما يطلب 2-8-3، وفي التنفيذ إلى التشفير للمطورين.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-06-01جرد البيانات الحساسة وتقليلها (Sensitive Data Inventory and Minimization)، الدرجة 214.1.1، 14.1.2، 14.2.6، …ECC 2-7-1، 2-7-2
CSCC 2-6-1-2، 2-6-1-4
قائمة تحقق المطور
ARC-ASC-06-02التشفير أثناء النقل (Encryption in Transit)، الدرجة 112.1.1، 12.1.2، 12.2.1، …ECC 2-8-3-3، 2-15-3-3
CSCC 2-7-1-1، 2-13-3-2
الشهادات وTLS
ARC-ASC-06-03التشفير أثناء التخزين (Encryption at Rest)، الدرجة 211.3.2، 11.3.3، 14.2.4ECC 2-8-3-3
CSCC 2-7-1-2
التشفير للمطورين
ARC-ASC-06-04خوارزميات ومكتبات تشفير معتمدة (Approved Algorithms and Libraries)، الدرجة 111.2.1، 11.2.3، 11.3.1، …ECC 2-8-3-1
CSCC 2-7-1-3
التشفير للمطورين
ARC-ASC-06-05إدارة المفاتيح والأسرار (Key and Secrets Management)، الدرجة 211.1.1، 11.1.2، 13.3.1، …ECC 2-8-3-2فحص الأسرار
ARC-ASC-06-06بيانات الإنتاج خارج بيئة الإنتاج (Production Data outside Production)، الدرجة 2لا يوجدCSCC 2-6-1-1، 2-6-1-5البيئات وGitOps
ARC-ASC-06-07حماية البيانات في المتصفح والذاكرة المؤقتة (Client-side Data and Caching)، الدرجة 214.2.1، 14.2.2، 14.3.1، …لا يوجد بند مباشرالجلسات وJWT

07 معالجة المدخلات والمخرجات ومنع الحقن Input and Output Handling, Injection

الحقن Injection من أقدم الثغرات وما زال في القائمة، والسبب أن الحل معروف ولكنه يحتاج أن يطبق في كل موضع دون استثناء، لذلك يركز هذا النطاق على القواعد التي تفحص آلياً: الاستعلامات ذات المعاملات، والترميز حسب السياق، ومنع SSRF.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-07-01التحقق من المدخلات في الخادم (Server-side Input Validation)، الدرجة 12.1.1، 2.2.1، 2.2.2، …لا يوجد بند مباشرالبرمجة الآمنة
ARC-ASC-07-02الاستعلامات ذات المعاملات (Parameterized Queries)، الدرجة 11.2.4لا يوجد بند مباشرثغرات الويب
ARC-ASC-07-03ترميز المخرجات وتنقية HTML (Contextual Output Encoding and HTML Sanitization)، الدرجة 11.1.2، 1.2.1، 1.2.2، …لا يوجد بند مباشرثغرات الويب
ARC-ASC-07-04حقن أوامر النظام والقوالب (OS Command and Template Injection)، الدرجة 11.2.5، 1.3.5، 1.3.7لا يوجد بند مباشرثغرات الويب
ARC-ASC-07-05الحماية من SSRF (Server-side Request Forgery Protection)، الدرجة 21.3.6، 15.3.2، 13.2.4لا يوجد بند مباشرثغرات الويب
ARC-ASC-07-06XML وفك التسلسل الآمن (Safe XML Parsing and Deserialization)، الدرجة 21.5.1، 1.5.2، 1.5.3لا يوجد بند مباشرالبرمجة الآمنة

08 أمن واجهات API Security

البند 1-3-2-3 في CSCC يطلب حماية واجهات API المصادق عليها، وهذا النطاق يفصل ذلك على قائمة OWASP API Security Top 10:2023، من جرد الواجهات إلى حدود الاستهلاك واستهلاك واجهات الطرف الثالث، مع ملاحظة أن صلاحيات الكائن والوظيفة في النطاق 05 تنطبق على الواجهات أيضاً.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-08-01جرد واجهات API وتوثيقها (API Inventory and Documentation)، الدرجة 113.1.1، 13.4.5ECC 2-1-1
CSCC 2-1-1-1
أمن API
ARC-ASC-08-02مصادقة واجهات API وتفويضها (Authenticated and Authorized APIs)، الدرجة 110.3.1، 10.3.2، 9.2.2، …CSCC 1-3-2-3أمن API
ARC-ASC-08-03الحد من استهلاك الموارد (Resource Consumption Limits)، الدرجة 12.4.1، 15.1.3، 15.2.2، …لا يوجد بند مباشرحماية HTTP
ARC-ASC-08-04حماية تدفقات العمل الحساسة (Sensitive Business Flows)، الدرجة 22.4.1، 2.4.2، 2.3.2، …لا يوجد بند مباشرأمن API
ARC-ASC-08-05إعدادات HTTP وCORS للواجهات (HTTP, CORS and Protocol Hygiene for APIs)، الدرجة 14.1.1، 4.1.4، 3.4.2، …لا يوجد بند مباشرCORS
ARC-ASC-08-06استهلاك الواجهات الخارجية بأمان (Safe Consumption of Third-party APIs)، الدرجة 212.3.2، 13.2.4، 16.5.2ECC 1-6-3-4أمن API

09 سلسلة التوريد البرمجية والاعتماديات Software Supply Chain and Dependencies

البند 1-6-3-2 يطلب مصادر مرخصة وموثوقة لأدوات التطوير والمكتبات، وأصبحت سلسلة التوريد فئة مستقلة A03 في Top 10:2025، والضوابط هنا تجعل «موثوقة ومرخصة» شيئاً يقاس: مصادر معتمدة، وSBOM، وفحص، وتثبيت للإصدارات، كما شرحنا في أمن سلسلة التوريد البرمجية.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-09-01مصادر موثوقة ومرخصة للأدوات والمكتبات (Trusted and Licensed Sources)، الدرجة 115.2.4ECC 1-6-3-2سلسلة التوريد
ARC-ASC-09-02قائمة مكونات البرمجيات SBOM (Software Bill of Materials)، الدرجة 215.1.2ECC 2-1-1فحص الاعتماديات
ARC-ASC-09-03فحص الاعتماديات وأطر المعالجة (Dependency Scanning and Remediation Time Frames)، الدرجة 115.1.1، 15.2.1ECC 2-10-3-1، 2-10-3-3
CSCC 2-9-1-2
فحص الاعتماديات
ARC-ASC-09-04تثبيت الإصدارات وملفات القفل (Pinned Versions and Lock Files)، الدرجة 215.2.4لا يوجد بند مباشرسلسلة التوريد
ARC-ASC-09-05Docker Images موثوقة ومفحوصة (Trusted and Scanned Container Images)، الدرجة 2لا يوجدECC 1-6-3-2، 2-10-3-1فحص الحاويات
ARC-ASC-09-06مراجعة المكون قبل إضافته (New Dependency Review)، الدرجة 215.1.4لا يوجد بند مباشرسلسلة التوريد

10 خط CI/CD وحماية الكود المصدري CI/CD Pipeline and Source Code Protection

هنا تقع بنود CSCC عن حماية الكود المصدري (1-3-2-2) والترحيل الآمن من الاختبار إلى الإنتاج (1-3-2-4)، وأضفت إليها حماية خط CI/CD نفسه، لأن الخط الذي يملك مفاتيح الإنتاج أصبح هدفاً بحد ذاته.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-10-01حماية مستودع الكود والوصول إليه (Source Code Repository Protection)، الدرجة 1لا يوجدECC 2-2-3-5
CSCC 1-3-2-2
Gitea
ARC-ASC-10-02حماية الفرع الرئيسي والمراجعة الإلزامية (Branch Protection and Mandatory Review)، الدرجة 1لا يوجدCSCC 1-3-2-1، 1-3-2-2الفرع الرئيسي
ARC-ASC-10-03حماية خط CI/CD نفسه (Pipeline Hardening)، الدرجة 2لا يوجدلا يوجد بند مباشرخط CI/CD آمن
ARC-ASC-10-04فحص الأسرار في المستودع والخط (Secret Scanning in Repository and Pipeline)، الدرجة 113.3.1CSCC 2-3-1-7فحص الأسرار
ARC-ASC-10-05بوابات أمنية بمعايير نجاح مكتوبة (Security Gates with Written Criteria)، الدرجة 1لا يوجدECC 1-6-3-3DevSecOps
ARC-ASC-10-06سلامة البناء وتوقيع الإصدارات (Build Integrity and Signed Releases)، الدرجة 3لا يوجدلا يوجد بند مباشرسلسلة التوريد
ARC-ASC-10-07فصل البيئات والترحيل الآمن إلى الإنتاج (Environment Separation and Secure Promotion)، الدرجة 1لا يوجدECC 2-5-3-2
CSCC 1-3-2-4، 2-6-1-5
البيئات وGitOps

11 الاختبار الأمني ومراجعة الكود قبل الإطلاق Security Testing and Review before Release

هذا النطاق هو «اختبار الامتثال» في 1-6-3-3 و«مراجعة الإعدادات» في 1-6-3-5 و«مراجعة الكود قبل الإطلاق» في 1-3-2-1 من CSCC، ويجمع الأدوات مع الإنسان، فكل أداة تجد نوعاً من المشكلات ولا تجد الآخر، كما رأينا في DevSecOps للمبتدئين.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-11-01المراجعة الأمنية لكل طلب دمج (Security Review of Every Pull Request)، الدرجة 1لا يوجدCSCC 1-3-2-1ASVS ومراجعة الكود
ARC-ASC-11-02التحليل الثابت للكود SAST (Static Application Security Testing)، الدرجة 1لا يوجدECC 1-6-3-3
CSCC 1-3-2-1
SAST
ARC-ASC-11-03الفحص أثناء التشغيل DAST (Dynamic Application Security Testing)، الدرجة 2لا يوجدECC 1-6-3-3، 2-10-3-1DAST
ARC-ASC-11-04اختبار التطبيق مقابل متطلباته (Compliance Testing against Security Requirements)، الدرجة 1لا يوجدECC 1-6-3-3
CSCC 2-13-2
ASVS ومراجعة الكود
ARC-ASC-11-05مراجعة الإعدادات والتحصين قبل الإطلاق (Configuration and Hardening Review before Launch)، الدرجة 113.4.1، 13.4.2، 15.2.3ECC 1-6-3-5، 1-6-2-2
CSCC 2-3-1-6
قائمة تحقق المطور
ARC-ASC-11-06مراجعة الكود الأمنية قبل إطلاق الأنظمة الحساسة (Pre-release Security Source Code Review for Critical Systems)، الدرجة 3لا يوجدCSCC 1-3-2-1ASVS ومراجعة الكود
ARC-ASC-11-07اختبار الاختراق (Penetration Testing)، الدرجة 2لا يوجدECC 2-11-3-1، 2-11-3-2
CSCC 2-10-1-1، 2-10-2
DAST
ARC-ASC-11-08إدارة الثغرات المكتشفة والإفصاح عنها (Vulnerability Triage, Remediation and Disclosure)، الدرجة 1لا يوجدECC 2-10-3-2، 2-10-3-3
CSCC 2-9-1-3
DevSecOps

12 النشر والحماية أثناء التشغيل Deployment and Runtime Protection

هنا بقية بنود 2-15-3: جدار حماية تطبيقات الويب وHTTPS وسياسة الاستخدام الآمن، مع ما يحتاجه التطبيق ليعمل بأمان خلف ال Reverse Proxy وداخل ال Container.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-12-01جدار حماية تطبيقات الويب (Web Application Firewall)، الدرجة 1لا يوجدECC 2-15-3-1
CSCC 2-12-1-2
حماية HTTP
ARC-ASC-12-02HTTPS إلزامي وHSTS (Mandatory HTTPS and HSTS)، الدرجة 13.4.1، 12.2.1، 12.2.2ECC 2-15-3-3
CSCC 2-13-3-2
ترويسات الأمان
ARC-ASC-12-03ترويسات الأمان وإعدادات الكوكيز (Security Headers and Cookie Attributes)، الدرجة 23.4.3، 3.4.4، 3.4.5، …لا يوجد بند مباشرترويسات الأمان
ARC-ASC-12-04عدم تسريب المعلومات في الإنتاج (No Information Leakage in Production)، الدرجة 113.4.1، 13.4.2، 13.4.3، …لا يوجد بند مباشرقائمة تحقق المطور
ARC-ASC-12-05التطبيق خلف ال Reverse Proxy بشكل صحيح (Correct Operation behind a Reverse Proxy)، الدرجة 115.3.4، 4.1.3، 4.2.1لا يوجد بند مباشرخلف Reverse Proxy
ARC-ASC-12-06تشغيل ال Containers بأقل صلاحية (Least-privilege Container Runtime)، الدرجة 215.2.3ECC 2-3-3فحص الحاويات
ARC-ASC-12-07التحديثات وحزم الإصلاح (Patch Management of the Runtime)، الدرجة 1لا يوجدECC 2-3-3-3، 2-10-3-4
CSCC 2-3-1-3، 2-9-1-2
تأمين السيرفر
ARC-ASC-12-08سياسة الاستخدام الآمن للمستخدمين (Secure Usage Policy for Users)، الدرجة 1لا يوجدECC 2-15-3-4
CSCC 2-13-3-3
قائمة تحقق المطور

13 السجلات والتدقيق والجاهزية للحوادث Logging, Audit and Incident Readiness

المكون 2-12 يطلب تفعيل السجلات ومراقبتها والاحتفاظ بها 12 شهراً، ويرفعها CSCC إلى 18 شهراً للأنظمة الحساسة، ولكن السجل الذي لم يكتبه التطبيق لا يجمعه أي SIEM، لذلك يحدد هذا النطاق ما يجب أن يسجله التطبيق نفسه، وما يجب أن يستطيع فعله يوم الحادث.

الرقمالضابطASVS 5.0NCAالمقال
ARC-ASC-13-01جرد السجلات ومحتواها (Logging Inventory and Log Content)، الدرجة 216.1.1، 16.2.1، 16.2.2، …ECC 2-12-1، 2-3-3-4السجلات
ARC-ASC-13-02تسجيل الأحداث الأمنية (Security Event Logging)، الدرجة 116.3.1، 16.3.2، 16.3.3، …ECC 2-12-3-1، 2-12-3-2
CSCC 2-11-1-1
السجلات
ARC-ASC-13-03لا بيانات حساسة في السجلات ولا حقن (No Sensitive Data in Logs, No Log Injection)، الدرجة 116.2.5، 16.4.1لا يوجد بند مباشرالسجلات
ARC-ASC-13-04حماية السجلات وجمعها مركزياً (Log Protection and Central Collection)، الدرجة 216.4.2، 16.4.3ECC 2-12-3-3، 2-12-3-4
CSCC 2-3-1-8، 2-11-1-4، 2-11-1-5
السجلات
ARC-ASC-13-05مدة الاحتفاظ بالسجلات (Log Retention)، الدرجة 1لا يوجدECC 2-12-3-5
CSCC 2-11-2
سجل التدقيق
ARC-ASC-13-06سجل التدقيق لعمليات العمل (Business Audit Trail)، الدرجة 216.3.3، 16.4.2ECC 2-12-3-2
CSCC 2-11-1-3، 2-11-1-5
سجل التدقيق
ARC-ASC-13-07الجاهزية للحوادث في التطبيق (Application Incident Readiness)، الدرجة 27.4.2، 7.4.5، 6.5.6ECC 2-13-3-1، 2-13-3-3التحقيق الرقمي

من أين تبدأ الجهة؟ مسار التبني Adoption

لا تحاول تطبيق التسعين ضابطاً في كل التطبيقات في وقت واحد، فهذه أسرع طريقة لأن يصبح الدليل ملفاً آخر في مجلد المشتركات، والطريقة التي أقترحها ثلاث مراحل، ومدة كل مرحلة تحددها الجهة بحسب حجمها وعدد تطبيقاتها:

  1. المرحلة الأولى، الأساس: صنف كل التطبيقات (01-01)، وطبق ضوابط الدرجة 1 على التطبيقات الجديدة فقط، وابدأ بالضوابط التي تفحص آلياً في خط CI/CD: فحص الأسرار، وSAST، وSCA، وحماية الفرع الرئيسي، لأن تكلفتها مرة واحدة وفائدتها في كل تغيير.
  2. المرحلة الثانية، التطبيقات الخارجية: اكتب وثيقة متطلبات معتمدة لكل تطبيق من الدرجة 2 (01-03)، وأضف نمذجة التهديدات واختبارات الصلاحيات وDAST، وابدأ التقييم الذاتي قبل كل إطلاق، وهنا تصبح لديك أدلة حقيقية لتقرير الامتثال على 1-6-3 و2-15.
  3. المرحلة الثالثة، الأنظمة الحساسة والقياس: طبق ضوابط الدرجة 3 ومدد CSCC على الأنظمة الحساسة، وقس نسبة التنفيذ لكل نطاق في كل مراجعة دورية، وراجع الاستثناءات المفتوحة، وطبق التحسين على التطبيقات القائمة بالتدريج.

وإذا كانت جهتك تستخدم نموذج نضج مثل OWASP SAMM فاستخدمه لقياس نضج البرنامج كله، واستخدم هذا الدليل لقائمة ما يجب أن يكون صحيحاً في كل تطبيق، فالأول يقيس العملية والثاني يقيس النتيجة.

التقييم الذاتي Self-assessment بملف Excel

ملف Excel المرفق فيه ثلاث أوراق: «اقرأني» وفيها التنبيه والترخيص وطريقة الاستخدام، و«الضوابط» وفيها الضوابط التسعون بكل أعمدتها مع خمسة أعمدة للتقييم الذاتي، و«النطاقات» وفيها ملخص يحسب نسبة التنفيذ لكل نطاق تلقائياً. والطريقة كما يلي:

  1. انسخ الملف لكل تطبيق، وفلتر عمود الدرجة على درجة التطبيق وما قبلها، واحذف ما لا ينطبق أو اختر له «لا ينطبق» مع السبب في الملاحظات.
  2. اختر لكل ضابط حالته من القائمة: منفذ، أو جزئي، أو غير منفذ، أو لا ينطبق.
  3. ضع في عمود الدليل رابطاً إلى الدليل نفسه (تقرير الفحص، أو إعدادات حماية الفرع، أو محضر المراجعة)، وليس وصفاً له، لأن الوصف لا يقنع المدقق.
  4. حدد المسؤول وتاريخ التقييم، وستجد نسبة التنفيذ في ورقة «النطاقات» محسوبة بالمعادلة (منفذ + نصف الجزئي) ÷ (عدد الضوابط ناقص ما لا ينطبق).
💡
التقييم الذاتي بهذا الملف يساعدك في الاستعداد ويظهر لك الفجوات، ولكنه لا يغني عن التقييم الذي تطلبه الهيئة بأدواتها وقنواتها الرسمية، ولا عن المراجعة المستقلة التي يطلبها الضابط 1-8-2.

تحميل ملفات الضوابط Excel وCSV

الملفان فيهما المحتوى نفسه، والفرق في الاستخدام:

  • ملف Excel للضوابط controls.xlsx: من اليمين إلى اليسار، والصف الأول مثبت، مع الفلاتر وقائمة الحالة وورقة الملخص، وهو الأنسب للتقييم الذاتي.
  • ملف CSV للضوابط controls.csv: بترميز UTF-8 مع BOM حتى يفتحه Excel بالعربية مباشرة، وهو الأنسب لاستيراد الضوابط في أداة GRC أو نظام تذاكر.

وفي الملفين 90 ضابطاً في 13 نطاقاً، وأعمدتهما: الرقم، والنطاق، والعنوان بالعربية والإنجليزية، والدرجة، والهدف، والمتطلب، والإرشادات، والأدلة، وASVS 5.0.0 مع المستوى، وECC-2:2024، وCSCC-1:2019، وTop 10:2025، وAPI Top 10:2023، وSSDF 1.1، وISO/IEC 27001:2022، ورابط المقال، ثم أعمدة التقييم الذاتي.

ما الذي لم يشمله الإصدار 0.1؟

نطاق هذا الإصدار تطبيقات الويب وواجهات API وخط CI/CD فقط، والسبب أن هذا ما تبنيه أغلب الجهات اليوم، وأن كل نوع آخر يحتاج مرجعه الخاص، وفي الإصدار الثاني بإذن الله:

  • تطبيقات الجوال Mobile: نطاق مبني على OWASP MASVS، لأن تخزين البيانات على الجهاز والتواصل مع الخادم وحماية التطبيق نفسه لها متطلبات لا يغطيها ASVS.
  • تطبيقات الذكاء الاصطناعي AI: نطاق لتطبيقات نماذج اللغة LLM مبني على قائمة OWASP لتطبيقات LLM التي سوف نشرحها في OWASP Top 10 لتطبيقات نماذج اللغة، مثل حقن التعليمات Prompt Injection والصلاحيات الزائدة للوكلاء.
  • ربط إضافي: ضوابط الحوسبة السحابية CCC وضوابط البيانات DCC من الهيئة للتطبيقات التي تعمل في السحابة أو تعالج بيانات مصنفة، وأمثلة لمعايير البرمجة الآمنة لكل لغة.

الترخيص License والملاحظات Feedback

الدليل وملفاته منشورة بترخيص المشاع الإبداعي، نسب المصنف والترخيص بالمثل CC BY-SA 4.0، وهو الترخيص نفسه الذي يستخدمه OWASP ASVS، وهذا يعني أن أي جهة أو شركة تستطيع أن تنسخه وتعدله وتضعه في سياساتها وتستخدمه تجارياً، بشرط أن تذكر المصدر وأن تنشر النسخة المعدلة بالترخيص نفسه إذا نشرتها.

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

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

الخلاصة

وصلنا لنهاية الموضوع، وأهم ما فيه:

  • الضوابط الأساسية ECC-2:2024 فيها 108 ضوابط أساسية للجهة كلها، ومنها ضابط واحد لمشاريع تطوير البرمجيات (1-6-3 ببنوده الخمسة) ومكون فرعي لتطبيقات الويب الخارجية (2-15)، وتضيف CSCC للأنظمة الحساسة مراجعة الكود قبل الإطلاق وحماية الكود وتأمين API والترحيل الآمن.
  • الهيئة تنشر قوالب إرشادية للتطوير الآمن ومعيار البرمجة الآمنة في حزمة الأدوات، ودليلاً إرشادياً لتطبيق ECC، ولم أجد وثيقة ضوابط مستقلة للتطوير الآمن، والفجوة هي في الربط بين البند والكود والدليل.
  • هذا الدليل مقترح مستقل وليس من الهيئة: 13 نطاقاً و90 ضابطاً مرقماً بنظام ARC-ASC-DD-CC، لكل ضابط هدف ومتطلب «يجب» وإرشادات وأدلة، وربط بالبند الذي يدعمه في ECC أو CSCC وبأرقام ASVS 5.0 وفئات Top 10:2025 وAPI Top 10:2023 وممارسات SSDF وضوابط ISO 27001:2022، ومقال للتنفيذ.
  • الاستخدام يبدأ بدرجة التطبيق: 1 أساسي (L1 و56 ضابطاً)، و2 قياسي (L2 و87 ضابطاً)، و3 حساس (L3 والتسعون كلها)، ثم وثيقة متطلبات معتمدة، ثم تقييم ذاتي بالأدلة.
  • الملفات بترخيص CC BY-SA 4.0، والإصدار 0.1 للمراجعة، والملاحظات مرحب بها.
دليلOWASP ASVS ومراجعة الكود الأمنية لكل Pull Requestكيف تكتب متطلبات أمان يمكن اختبارها مع OWASP ASVS، وتراجع كل طلب دمج أمنياً في عشرين دقيقة بقائمة جاهزة.دليلنمذجة التهديدات Threat Modeling للمبتدئينكيف تسأل ما الذي قد يسوء في تصميم تطبيقك قبل أن تكتب الكود، وتقرر لكل تهديد هل تصلحه أو تقبله، مع قالب جاهز للنسخ.دليلDevSecOps للمبتدئين: الأمن داخل خط CI/CD ومتى يعمل كل فحصما الذي يجده كل فحص أمني في خط CI/CD وما الذي يفوته، وكيف ترتب نتائجه حتى تصل إلى قرار بدل قائمة طويلة.دليلأمن سلسلة التوريد البرمجية Software Supply Chain للمبتدئينكل ما بين كود غيرك وسيرفرك قد يحمل كود المهاجم، وهنا تعرف التهديدات الحقيقية بحوادث موثقة والدفاع المناسب لكل حلقة.دليلOWASP Top 10 للمبتدئين: أخطر عشر مشكلات في تطبيقات الويبأخطر عشر مشكلات أمنية في تطبيقات الويب، كل واحدة بمثال ضعيف ثم مصلح، وكيف تمنعها في الكود وأين تكتشفها.دليلAuthorization: كيف تجمع قرارات الصلاحيات في مكان واحدلماذا تتحول شروط الصلاحيات المتفرقة في الكود إلى ثغرات، وكيف تنقل القرار إلى محرك سياسات واحد.

سجل التحديثات

  • أكتوبر 2026: الإصدار 0.1 للمراجعة، 90 ضابطاً في 13 نطاقاً لتطبيقات الويب وواجهات API وخط CI/CD، بعد مراجعة الضوابط الأساسية ECC-2:2024 بنسختيها العربية والإنجليزية وضوابط الأنظمة الحساسة CSCC-1:2019 وحزمة أدوات الهيئة والدليل الإرشادي GECC-2:2026 من موقع الهيئة، وأرقام OWASP ASVS 5.0.0 من ملف CSV الرسمي، وقائمتي OWASP Top 10:2025 وAPI Security Top 10:2023، وNIST SP 800-218 الإصدار 1.1.
  • أكتوبر 2026: صور مظللة من نصوص الضوابط الرسمية بدل سردها.
نشرة عرب رووت | ArabRoot

معرفة تستحق مكاناً في بريدك.

مقالات مختارة وأدوات مفيدة وأفكار لمشروعك القادم، في رسالة واحدة كل أسبوع.

يمكنك إلغاء الاشتراك متى شئت. الخصوصية

تم استلام طلبك. افتح بريدك واضغط رابط التأكيد لإتمام الاشتراك.