> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# OWASP SAMM: كيف تقيس نضج أمن تطبيقاتك وتحسنه
- URL: https://arabroot.io/articles/نماذج-النضج-owasp-samm-كيف-تقيس-امن-تطبيقاتك/
- Published: 2026-10-06T15:15:00.000Z
- Updated: 2026-10-09T13:02:48.000Z
- Description: كيف تعرف أين يقف أمن التطبيقات في فريقك بنموذج OWASP SAMM، ثم تحول نتيجة التقييم إلى خطة تحسين على مراحل.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, الأمن السيبراني, DevOps وCI/CD, الاستضافة الذاتية

لنفرض أن مدير الشركة دخل عليك صباحاً وسألك سؤالاً واحداً: «هل نحن آمنون؟»، وأنت تعرف أن الفريق يشغل فحص الأسرار وSAST في خط CI/CD منذ أشهر، وأن هناك اختبار اختراق Penetration Test تم قبل سنة، وأن أحد المطورين يهتم بالأمن أكثر من غيره. فماذا تقول له؟ إذا قلت «نعم» فأنت لا تملك ما يثبتها، وإذا قلت «لا» فهو سوف يسألك «إذن ماذا نشتري؟»، والحقيقة أن السؤال نفسه خطأ، لأن الأمن ليس مفتاحاً يكون مفتوحاً أو مغلقاً، وإنما مجموعة عادات في الفريق بعضها موجود وبعضها ناقص وبعضها نصف موجود، والسؤال الصحيح هو «أين نحن اليوم، وما الخطوة التالية؟».

وهذا هو بالضبط ما تفعله نماذج النضج Maturity Models، ففي مقال [ما هي OWASP؟](https://arabroot.io/articles/%D9%85%D8%A7-%D9%87%D9%8A-owasp-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9%D9%87%D8%A7-%D9%88%D9%88%D8%AB%D8%A7%D8%A6%D9%82%D9%87%D8%A7-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/#standards) ذكرنا نموذج SAMM في فقرة واحدة، وفي هذا المقال سوف نشرحه بالتفصيل، ونعبئ ملف التقييم الرسمي فعلاً لشركة تخيلية، ونرى كيف تحسب الدرجات، ثم نحولها إلى خطة. وسوف نناقش في هذا المقال ما يلي:

- لماذا لا يجيب شراء الأدوات عن سؤال «هل نحن آمنون؟»، وما المشكلة التي يحلها نموذج النضج.
- ما هو نموذج النضج، والفرق بين SAMM الذي يقيس البرنامج وASVS الذي يقيس التطبيق، والبدائل BSIMM وDSOMM.
- هيكل OWASP SAMM v2: الوظائف الخمس والممارسات الخمس عشرة والمسارات الثلاثون والمستويات الثلاثة، وكل ممارسة في جملة مع مثال لكل مستوى.
- كيف تحسب الدرجة بالضبط من معادلات ملف التقييم الرسمي SAMM Toolbox.
- كيف تجري التقييم: النطاق، ومن يحضر، والمقابلات، والأدلة، والصدق في الإجابة.
- مثال عملي حقيقي: نعبئ ملف SAMM v2.2.0 الرسمي لشركة SaaS تخيلية من 15 شخصاً، ونقرأ الدرجات التي حسبها الملف نفسه.
- من الدرجة إلى خطة تحسين على مراحل، مربوطة بمقالات الموقع وبضوابط [دليل ضوابط أمن التطبيقات](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/)، مع قالب جاهز للنسخ.

## لماذا لا يجيب شراء الأدوات عن سؤال «هل نحن آمنون؟»

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

![على اليمين لوحة حمراء عنوانها الحل البسيط: نشتري أداة أخرى، فيها ست بطاقات متفرقة لأدوات SAST وDAST وSCA وWAF وSecrets Scan وPentest لا يربطها شيء، وشخص يسأل هل نحن آمنون؟ Are we secure? وبجانبه علامة استفهام حمراء، وتحتها أربع نتائج: مئات النتائج ولا أحد يملك القرار، ولا توجد متطلبات ولا نمذجة تهديدات، ولا أحد يعرف ماذا نفعل بعد الحادثة، والميزانية القادمة تذهب إلى أداة سابعة. وعلى اليسار لوحة خضراء عنوانها الطريقة الصحيحة: نموذج نضج Maturity Model، فيها أربعة أعمدة متصاعدة للمستويات 0 و1 و2 و3، ودبوس أحمر عند المستوى 0 تقريباً مكتوب تحته أين نحن اليوم، وسهم منقط إلى هدف أخضر عند المستوى 2 مكتوب فوقه الهدف بحسب المخاطر والخطوة التالية Next Step، وفي الأسفل جملة الأداة تصبح نشاطاً Activity داخل خطة، وليست الخطة نفسها.](https://arabroot.io/content/images/2026/10/samm-01-problem.webp)

الأدوات تجد المشكلات، أما ترتيب ما ينقص فيحتاج خريطة

في الصورة أعلاه لاحظ التالي:

- **كل أداة تحل جزءاً صغيراً:** أداة SAST لا تكتب متطلبات أمان، وأداة DAST لا تعرف من يصلح النتيجة ومتى، وكما شرحنا في [فرز النتائج Triage](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/#triage) فإن القائمة الطويلة دون مالك ومواعيد تتحول إلى ضجيج.
- **الأشياء التي لا تشترى لا تظهر في القائمة أصلاً:** نمذجة التهديدات، وتدريب المطورين، وخطة الاستجابة للحوادث، وتصنيف التطبيقات بحسب المخاطر، وكلها عادات وليست منتجات.
- **لا يوجد رقم تقارن به نفسك بعد سنة:** عدد الأدوات ليس مقياساً، وعدد النتائج يرتفع كلما أضفت أداة، فلا تستطيع أن تقول للمدير «تحسنا» وأنت لا تملك نقطة بداية.

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

## ما هو نموذج النضج Maturity Model؟

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

وأشهر نماذج النضج في عالم البرمجيات هو CMMI، وفيه خمسة [مستويات نضج Maturity Levels](https://cmmiinstitute.com/learning/appraisals/levels?ref=arabroot.io) من المستوى 1 «Initial» إلى المستوى 5 «Optimizing»، ويعطي المؤسسة كلها رقماً واحداً. أما SAMM فيعمل بطريقة مختلفة: لا يوجد فيه رقم واحد للمؤسسة يحكم عليها، وإنما درجة لكل ممارسة من خمس عشرة ممارسة بين 0 و3، فقد تكون في المستوى 2 في البناء الآمن وفي المستوى 0 في نمذجة التهديدات في الوقت نفسه، وهذا أقرب للواقع، لأن الفرق الحقيقية لا تنضج في كل شيء بالسرعة نفسها.

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

## SAMM يقيس المصنع، وASVS يقيس المنتج

في مقال [متطلبات الأمان ومراجعة الكود مع OWASP ASVS](https://arabroot.io/articles/%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D8%A7%D9%85%D8%A7%D9%86-%D9%88%D9%85%D8%B1%D8%A7%D8%AC%D8%B9%D8%A9-%D8%A7%D9%84%D9%83%D9%88%D8%AF-%D9%85%D8%B9-owasp-asvs/) رأينا أن ASVS يسأل عن تطبيق محدد: «هل هذا التطبيق يحقق المتطلب v5.0.0-8.2.2؟»، أما SAMM فيسأل عن الفريق أو المؤسسة: «هل لديكم عادة ثابتة لكتابة متطلبات أمان لكل تطبيق، وهل تختبرونها؟». والجدول التالي يلخص الفرق:

| السؤال      | OWASP ASVS                          | OWASP SAMM                                |
| ----------- | ----------------------------------- | ----------------------------------------- |
| ماذا يقيس؟  | تطبيقاً واحداً (المنتج)             | برنامج الأمن في فريق أو مؤسسة (المصنع)    |
| شكل الإجابة | كل متطلب ينجح أو يفشل Pass/Fail     | درجة بين 0 و3 لكل ممارسة، مع إجابات جزئية |
| من يستخدمه؟ | المطور والمختبر ومراجع الكود        | قائد الفريق ومسؤول الأمن والإدارة         |
| متى؟        | في كل ميزة وكل طلب دمج Pull Request | مرة كل 6 إلى 12 شهراً، ثم خطة             |
| المخرج      | قائمة متطلبات واختبارات للتطبيق     | خريطة نضج وخطة تحسين Roadmap              |

ولاحظ أن الاثنين يعملان معاً، فممارسة «متطلبات الأمان Security Requirements» في SAMM تسألك هل تكتب الفرق متطلبات أمان، وASVS هو أحد أفضل المصادر لكتابتها، فإذا رفعت درجتك في هذه الممارسة فغالب الظن أنك فعلت ذلك باستخدام ASVS.

## البدائل: BSIMM يصف ما تفعله الشركات، وDSOMM يركز على DevSecOps

هناك نموذجان آخران سوف تقابلهما، والفرق الأهم بينهما وبين SAMM هو الفرق بين النموذج التوجيهي Prescriptive والنموذج الوصفي Descriptive:

- **OWASP SAMM (توجيهي):** كتبه مختصون ويقول لك ما الذي يجب أن تفعله في كل مستوى، وهو مفتوح بترخيص [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/?ref=arabroot.io) كما تقول [الصفحة الرئيسية للمشروع](https://owaspsamm.org/?ref=arabroot.io) و[مستودعه على GitHub](https://github.com/owaspsamm/core?ref=arabroot.io)، وأصله نموذج OpenSAMM 1.0 الذي كتبه Pravir Chandra في 2009 بحسب [ملاحظات إصدار SAMM v2](https://owaspsamm.org/release-notes-v2/?ref=arabroot.io).
- **BSIMM (وصفي):** نموذج تنشره شركة Black Duck، ويصف ما تفعله الشركات المشاركة فعلاً بدلاً من أن يقول لك ما يجب، والإصدار الحالي BSIMM16 نشر في يناير 2026 وبني على تحليل 111 مؤسسة، وفيه 128 نشاطاً في 12 ممارسة وأربعة مجالات Domains هي Governance وIntelligence وSSDL Touchpoints وDeployment، بحسب [صفحة التقرير](https://www.blackduck.com/resources/analyst-reports/bsimm.html?ref=arabroot.io). ونقطة قوته المقارنة مع شركات حقيقية، ولكن «ما تفعله الشركات الكبيرة» ليس بالضرورة ما يناسب فريقاً من خمسة عشر شخصاً، والتقرير يحمل من موقع الشركة بعد تعبئة نموذج تسجيل، ولم نجد في الصفحة ترخيصاً مفتوحاً مثل ترخيص SAMM.
- **OWASP DSOMM (توجيهي، لخط DevOps):** نموذج نضج DevSecOps Maturity Model، وهو مشروع OWASP بتصنيف Lab بحسب [صفحة المشروع](https://owasp.org/www-project-devsecops-maturity-model/?ref=arabroot.io)، ويقسم الأنشطة إلى أبعاد Dimensions مثل البناء والنشر Build and Deployment والثقافة والتنظيم Culture and Organization والاختبار والتحقق Test and Verification، وفي خمسة مستويات، ولكل نشاط ربط بممارسات SAMM، وتطبيقه في [dsomm.owasp.org](https://dsomm.owasp.org/?ref=arabroot.io)، وآخر إصدار لبيانات النموذج v5.1.0 في [مستودع البيانات](https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel-data/releases?ref=arabroot.io). وهو مفيد عندما تريد تفاصيل أدق داخل خط CI/CD، ولكنه لا يغطي الحوكمة والتشغيل بعمق SAMM.

والخلاصة العملية أن تبدأ بـ SAMM لأنه مفتوح ومجاني ويغطي البرنامج كله من الحوكمة إلى التشغيل، ثم تستخدم DSOMM إذا أردت تفاصيل أكثر في جزء DevSecOps، وتقرأ تقرير BSIMM إذا أردت أن تعرف ما تفعله الشركات الأخرى، وكل ما يلي في هذا المقال عن SAMM.

## هيكل النموذج: الوظائف Business Functions والممارسات Practices والمسارات Streams

الإصدار الحالي من النموذج هو SAMM v2، وقد صدر في 31 يناير 2020 بحسب [الأسئلة الشائعة](https://owaspsamm.org/docs/reference/faq/?ref=arabroot.io)، وهو يحدث على دفعات صغيرة، فآخر إصدار في المستودع هو [v2.2.0](https://github.com/owaspsamm/core/releases/tag/v2.2.0?ref=arabroot.io) المنشور في 6 يوليو 2026، وقبله v2.1.0 في سبتمبر 2024، والتغييرات في v2.2.0 صغيرة: تحسين صياغة النصوص، وتعديل بعض مجموعات الإجابات، وإضافة العلاقات بين الأنشطة، أما الهيكل فهو نفسه. والصورة التالية تبين الهيكل كما في ملفات YAML للنموذج:

![خمسة أعمدة ملونة من اليمين إلى اليسار: الحوكمة Governance بالأزرق الداكن، والتصميم Design بالبرتقالي، والتنفيذ Implementation بالأخضر، والتحقق Verification بالعنابي، والتشغيل Operations بالرمادي. في كل عمود ثلاث بطاقات ممارسات، وفي كل بطاقة مساران A وB. الحوكمة: Strategy and Metrics بمساري Create and Promote وMeasure and Improve، وPolicy and Compliance بمساري Policy and Standards وCompliance Management، وEducation and Guidance بمساري Training and Awareness وOrganization and Culture. التصميم: Threat Assessment بمساري Application Risk Profile وThreat Modeling، وSecurity Requirements بمساري Software Requirements وSupplier Security، وSecure Architecture بمساري Architecture Design وTechnology Management. التنفيذ: Secure Build بمساري Build Process وSoftware Dependencies، وSecure Deployment بمساري Deployment Process وSecret Management، وDefect Management بمساري Defect Tracking وMetrics and Feedback. التحقق: Architecture Assessment بمساري Architecture Validation وArchitecture Mitigation، وRequirements-driven Testing بمساري Control Verification وMisuse/Abuse Testing، وSecurity Testing بمساري Scalable Baseline وDeep Understanding. التشغيل: Incident Management بمساري Incident Detection وIncident Response، وEnvironment Management بمساري Configuration Hardening وPatching and Updating، وOperational Management بمساري Data Protection وDecommissioning / Legacy. وفي الأسفل: في كل مسار Stream ثلاثة أنشطة Activities للمستويات 1 و2 و3، أي 90 نشاطاً و90 سؤالاً.](https://arabroot.io/content/images/2026/10/samm-02-model-map.webp)

5 وظائف × 3 ممارسات × 2 مسار × 3 مستويات = 90 نشاطاً، ولكل نشاط سؤال واحد في التقييم

في الهيكل أعلاه لاحظ التالي:

- **الوظيفة Business Function:** مجموعة كبيرة من عمل تطوير البرمجيات، وهي خمس: الحوكمة Governance (كيف تدير المؤسسة برنامج الأمن)، والتصميم Design (المتطلبات والمعمارية قبل الكود)، والتنفيذ Implementation (البناء والنشر وإدارة العيوب)، والتحقق Verification (الاختبار والمراجعة)، والتشغيل Operations (ما بعد الإطلاق).
- **الممارسة الأمنية Security Practice:** ثلاث في كل وظيفة، أي خمس عشرة ممارسة، وهي الوحدة التي تأخذ درجة.
- **المسار Stream:** في كل ممارسة مساران A وB، وكل مسار هدف واحد يكبر مع المستوى، فممارسة تقييم التهديدات Threat Assessment فيها مسار «ملف مخاطر التطبيق Application Risk Profile» ومسار «نمذجة التهديدات Threat Modeling».
- **النشاط Activity:** في كل مسار نشاط لكل مستوى من الثلاثة، فيصبح المجموع 90 نشاطاً، ويقابل كل نشاط سؤال واحد في ملف التقييم، ويرمز للنشاط في ملفات النموذج برمز مثل `D-TA-1-B`، أي الوظيفة Design والممارسة Threat Assessment والمستوى 1 والمسار B.

### الممارسات الخمس عشرة Security Practices في جملة واحدة لكل منها

الجدول التالي يشرح كل ممارسة في جملة، ومثالاً من أنشطتها في المستويات الثلاثة (من المسار A غالباً، وأسماء الأنشطة الأصلية في [صفحة النموذج](https://owaspsamm.org/model/?ref=arabroot.io))، والمقال الذي يشرح الجانب العملي منها في الموقع:

| الممارسة                                                                                                                    | ماذا تعني؟                                                                         | المستوى 1                                            | المستوى 2                                      | المستوى 3                                    | في الموقع                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Strategy and Metrics](https://owaspsamm.org/model/governance/strategy-and-metrics/?ref=arabroot.io) الاستراتيجية والمقاييس | خطة أمن مكتوبة تعرف شهية المؤسسة للمخاطر Risk Appetite وتقاس بالأرقام              | تحديد شهية المخاطر                                   | استراتيجية أمن مع ميزانية ومحطات               | مراجعة الاستراتيجية مع استراتيجية العمل      | [المخاطر Risk](https://arabroot.io/articles/%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-grc-%D8%A7%D9%84%D8%AD%D9%88%D9%83%D9%85%D8%A9-%D9%88%D8%A7%D9%84%D9%85%D8%AE%D8%A7%D8%B7%D8%B1-%D9%88%D8%A7%D9%84%D8%A7%D9%85%D8%AA%D8%AB%D8%A7%D9%84/#risk)                                                                                                                                        |
| Policy and Compliance السياسات والامتثال                                                                                    | سياسات ومعايير داخلية، ومعرفة الالتزامات الخارجية مثل ضوابط الهيئة                 | كتابة السياسات والمعايير                             | تحويلها إلى إجراءات اختبار يفهمها المطور       | قياس الالتزام بها وتقريره                    | [NCA ECC](https://arabroot.io/articles/%D8%A7%D9%84%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%84%D8%A7%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D9%84%D9%84%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-nca-ecc-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%B3%D9%8A%D8%B7%D8%A9/)                                                                                                  |
| [Education and Guidance](https://owaspsamm.org/model/governance/education-and-guidance/?ref=arabroot.io) التعليم والإرشاد   | تدريب كل من يلمس الكود، وثقافة أمن داخل الفرق                                      | توعية للجميع، وسفير أمن لكل فريق                     | تدريب بحسب الدور، ومركز خبرة                   | نظام لتتبع التدريب، ومجتمع داخلي             | [سفير الأمن](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/#champions)                                                                                                                                                                                                                                          |
| [Threat Assessment](https://owaspsamm.org/model/design/threat-assessment/?ref=arabroot.io) تقييم التهديدات                  | معرفة أي التطبيقات أخطر، وما الذي قد يسوء في تصميمها                               | تصنيف التطبيقات بحسب المخاطر، ونمذجة بسيطة بـ STRIDE | ملفات مخاطر مركزية، وطريقة نمذجة موحدة         | مراجعة دورية وتحسين الطريقة                  | [نمذجة التهديدات](https://arabroot.io/articles/%D9%86%D9%85%D8%B0%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D9%87%D8%AF%D9%8A%D8%AF%D8%A7%D8%AA-threat-modeling-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)                                                                                                                                                                               |
| [Security Requirements](https://owaspsamm.org/model/design/security-requirements/?ref=arabroot.io) متطلبات الأمان           | متطلبات أمان مكتوبة للبرنامج، ومتطلبات للموردين Suppliers                          | الفرق تكتب متطلبات أمان                              | متطلبات موحدة ومرتبة بالأولوية                 | إطار متطلبات تستخدمه كل الفرق                | [ASVS](https://arabroot.io/articles/%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D8%A7%D9%85%D8%A7%D9%86-%D9%88%D9%85%D8%B1%D8%A7%D8%AC%D8%B9%D8%A9-%D8%A7%D9%84%D9%83%D9%88%D8%AF-%D9%85%D8%B9-owasp-asvs/)                                                                                                                                                                     |
| Secure Architecture المعمارية الآمنة                                                                                        | مبادئ تصميم آمن، وتقنيات معتمدة يعرف الجميع مخاطرها                                | قائمة مبادئ أمن في التصميم                           | خدمات أمن مشتركة مثل مزود الهوية               | معماريات مرجعية Reference Architectures      | [النطاق 02](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/#d02)                                                                                                                             |
| Secure Build البناء الآمن                                                                                                   | بناء متكرر ومؤتمت، ومعرفة الاعتماديات Dependencies التي تبني عليها                 | توثيق البناء، وقائمة الاعتماديات BOM                 | بناء مؤتمت بالكامل، ومراجعة الاعتماديات        | البناء يفشل عند تجاوز خط الأمان              | [سلسلة التوريد](https://arabroot.io/articles/%D8%A7%D9%85%D9%86-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)                                                                                                                                         |
| Secure Deployment النشر الآمن                                                                                               | نشر متكرر بصلاحيات محددة، وأسرار لا يراها المطورون                                 | نشر موثق، وأسرار الإنتاج محمية                       | نشر مؤتمت بفحوص أمنية، وحقن الأسرار عند النشر  | التحقق من توقيع ما ينشر، ودورة حياة للأسرار  | [فحص الأسرار](https://arabroot.io/articles/%D8%A7%D9%83%D8%AA%D8%B4%D8%A7%D9%81-%D8%A7%D9%84%D8%A7%D8%B3%D8%B1%D8%A7%D8%B1-%D8%A7%D9%84%D9%85%D8%B3%D8%B1%D8%A8%D8%A9-%D9%85%D8%B9-gitleaks-%D9%88-trufflehog/)                                                                                                                                                                             |
| [Defect Management](https://owaspsamm.org/model/implementation/defect-management/?ref=arabroot.io) إدارة العيوب الأمنية     | كل ثغرة مسجلة في مكان واحد ولها خطورة وموعد إصلاح                                  | تتبع مركزي للعيوب الأمنية                            | مقياس خطورة واحد ومواعيد SLA                   | فرض المواعيد آلياً وربطها بإدارة المخاطر     | [فرز النتائج](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/#triage)                                                                                                                                                                                                                                            |
| Architecture Assessment تقييم المعمارية                                                                                     | مراجعة المعمارية نفسها ضد الأهداف الأمنية والتهديدات المعروفة                      | مراجعة عند الحاجة                                    | مراجعة منهجية لكل واجهة                        | قياس فعالية الضوابط الأمنية                  | [المراجعة Validation](https://arabroot.io/articles/%D9%86%D9%85%D8%B0%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D9%87%D8%AF%D9%8A%D8%AF%D8%A7%D8%AA-threat-modeling-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/#validate)                                                                                                                                                                  |
| Requirements-driven Testing الاختبار من المتطلبات                                                                           | اختبارات إيجابية تثبت الضوابط، واختبارات إساءة Abuse Cases وفحص بالعشوائية Fuzzing | اختبار ضوابط المصادقة والصلاحيات                     | اختبارات مكتوبة من المتطلبات                   | اختبارات انحدار Regression أمنية آلية        | [أنواع الاختبارات](https://arabroot.io/articles/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-unit-%D9%88-integration-%D9%88-e2e/)                                                                                                                                                     |
| [Security Testing](https://owaspsamm.org/model/verification/security-testing/?ref=arabroot.io) الاختبار الأمني              | فحص آلي على كل تطبيق، واختبار يدوي للأجزاء عالية المخاطر                           | أدوات فحص آلية                                       | ضبط الأدوات لتطبيقاتك، واختبار اختراق دوري     | الفحص داخل خط التسليم ولوحة واحدة            | [SAST](https://arabroot.io/articles/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%83%D9%88%D8%AF-%D8%A7%D9%84%D8%AB%D8%A7%D8%A8%D8%AA-sast-%D9%85%D8%B9-semgrep-%D9%88-sonarqube/) و[DAST](https://arabroot.io/articles/%D9%81%D8%AD%D8%B5-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AB%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-dast-%D9%85%D8%B9-zap/)    |
| [Incident Management](https://owaspsamm.org/model/operations/incident-management/?ref=arabroot.io) إدارة الحوادث            | اكتشاف الحادثة من السجلات، والاستجابة لها بخطة                                     | تحليل السجلات دورياً، وشخص مسؤول عن الحوادث          | عملية موثقة للاكتشاف والاستجابة                | فريق استجابة وتحليل السبب الأساسي Root Cause | [DFIR](https://arabroot.io/articles/%D8%A7%D9%84%D8%AA%D8%AD%D9%82%D9%8A%D9%82-%D8%A7%D9%84%D8%B1%D9%82%D9%85%D9%8A-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-dfir/) و[سجل التدقيق](https://arabroot.io/articles/%D8%B3%D8%AC%D9%84-%D8%A7%D9%84%D8%AA%D8%AF%D9%82%D9%8A%D9%82-audit-trail-%D9%85%D9%86-%D9%81%D8%B9%D9%84-%D9%85%D8%A7%D8%B0%D8%A7-%D9%88%D9%85%D8%AA%D9%89/) |
| [Environment Management](https://owaspsamm.org/model/operations/environment-management/?ref=arabroot.io) إدارة البيئة       | تحصين Hardening الإعدادات، وتحديث المكونات في وقتها                                | تحصين المكونات الأساسية، وتحديث بأفضل جهد            | خطوط أساس Baselines لكل مكون، وعملية تحديث     | مراقبة مستمرة للالتزام، وتحديث بمواعيد       | [تأمين VPS](https://arabroot.io/articles/%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D8%AE%D8%A7%D8%AF%D9%85-vps-%D9%85%D9%86-%D8%A3%D9%88%D9%84-%D8%AF%D8%AE%D9%88%D9%84/)                                                                                                                                                                                                                             |
| Operational Management الإدارة التشغيلية                                                                                    | حماية البيانات بحسب حساسيتها، وإيقاف الأنظمة القديمة بشكل منظم                     | معرفة البيانات في كل تطبيق، وإزالة ما لا يستخدم      | فهرس للبيانات Data Catalog، وعملية إيقاف رسمية | مراجعة دورية لحالة كل نظام وبياناته          | [النطاق 06](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/#d06)                                                                                                                             |

## مستويات النضج الثلاثة Maturity Levels: من البداية إلى التحسين المستمر

يصف النموذج في ملفات `maturity_levels` المستويات الثلاثة كما يلي: المستوى 1 تطبيق مؤقت بأفضل جهد ad-hoc، والمستوى 2 عملية ثابتة قابلة للتكرار يمكن الاعتماد عليها، والمستوى 3 تعظيم الفعالية بالتحسين المستمر بناء على تغذية راجعة فعالة وفي وقتها، والمستوى 0 يعني أن النشاط غير موجود. والصورة التالية تبين المستويات على مسار نمذجة التهديدات:

![درج من أربع درجات برتقالية تصعد من اليمين إلى اليسار تحت شريط Design › Threat Assessment › Stream B · Threat Modeling. الدرجة 0 رمادية: النشاط غير موجود، رسم عابر لا يحفظ. الدرجة 1: بداية بأفضل جهد ad-hoc, best effort، والنشاط Perform basic threat modeling: نمذجة للتطبيقات عالية المخاطر فقط بقائمة بسيطة مثل STRIDE ونحفظ النتيجة للرجوع إليها. الدرجة 2: عملية ثابتة تتكرر consistent, repeatable، والنشاط Standardize and scale threat modeling: طريقة موحدة بحسب مستوى المخاطر، وتدريب المعماريين وسفراء الأمن، وأي تغيير في التطبيق يعيد النموذج. الدرجة 3: تحسين مستمر continuous improvement، والنشاط Optimize threat modeling: مراجعة الطريقة نفسها من التغذية الراجعة، ومراجعة النماذج القائمة سنوياً، وأتمتة أجزاء منها بالأدوات.](https://arabroot.io/content/images/2026/10/samm-03-levels.webp)

المستوى ليس شهادة، وإنما وصف لمدى ثبات العادة في الفريق

ويجدر الانتباه إلى أن النموذج لا يشترط أن تكمل المستوى 1 قبل أن تعمل على المستوى 2، فالأسئلة الشائعة تقول صراحة إن بعض أنشطة المستوى 1 قد لا تنطبق عليك فتتجاوزها، وإن الترتيب منطقي ولكنه ليس قيداً، وهذا ما سوف تراه في طريقة حساب الدرجة.

## كيف تحسب الدرجة Score بالضبط؟

الإجابة في SAMM v2 ليست «نعم» أو «لا»، فلكل سؤال أربع إجابات لها قيم 0 و0.25 و0.5 و1، ونص الإجابة يختلف بحسب السؤال، فأغلب الأسئلة إجاباتها «No» و«Yes, for some applications» و«Yes, for at least half of the applications» و«Yes, for most or all of the applications»، وبعضها يسأل عن المكونات أو الحوادث أو الوقت أو المؤسسة. وتحت كل سؤال معايير جودة Quality Criteria، وتقول [صفحة التقييم](https://owaspsamm.org/assessment/?ref=arabroot.io) إن المعايير إذا لم تتحقق بالكامل فالإجابة «No»، وإذا تحققت تختار من الإجابات الأخرى بحسب التغطية. وقد قرأنا معادلات ملف التقييم الرسمي نفسه، والصورة التالية تبين الخطوات:

![أربع خطوات من اليمين إلى اليسار. الخطوة 1 كل إجابة لها قيمة: No تساوي 0، وYes, for some تساوي 0.25، وYes, at least half تساوي 0.5، وYes, most or all تساوي 1. الخطوة 2 متوسط المسارين في كل مستوى لممارسة Secure Build بإجابات تخيلية: المستوى 1 المسار A يساوي 1 والمسار B يساوي 0.5 والمتوسط 0.75، والمستوى 2 المسار A يساوي 1 والمسار B يساوي 0.25 والمتوسط 0.625، والمستوى 3 صفر. الخطوة 3 نجمع المستويات: 0.75 + 0.625 + 0 = 1.375. الخطوة 4 المتوسطات: Secure Build 1.375 وSecure Deployment 1.25 وDefect Management 0.25 تعطي Implementation 0.96، والدرجة الكلية متوسط الوظائف الخمس. وفي الأسفل: الدرجة بين 0 و3 لكل ممارسة، ومستوى أعلى يدخل في المجموع حتى لو لم يكتمل المستوى الذي قبله.](https://arabroot.io/content/images/2026/10/samm-04-scoring.webp)

متوسط المسارين لكل مستوى، ثم مجموع المستويات، ثم متوسط الممارسات للوظيفة

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

- **درجة المستوى متوسط المسارين:** في ورقة `Interview` تحسب الخلية لكل مستوى بالمعادلة `AVERAGE` لإجابة المسار A وإجابة المسار B في المستوى نفسه.
- **درجة الممارسة مجموع المستويات:** عمود التقييم Rating هو `SUM` للمستويات الثلاثة، فتكون الدرجة بين 0 و3، ولهذا يمكن أن تأخذ درجة من المستوى 2 دون أن تكمل المستوى 1.
- **درجة الوظيفة والدرجة الكلية متوسطات:** في ورقة `Scorecard` درجة الوظيفة `AVERAGE` لممارساتها الثلاث، والدرجة الكلية Overall متوسط الوظائف الخمس.

وقد يتساءل البعض: هل الدرجة 1.375 تعني «المستوى 1»؟ والإجابة لا بالضبط، فهي تعني أن ثلاثة أرباع أنشطة المستوى 1 موجودة وأكثر من نصف المستوى 2، لذلك اقرأ الأعمدة L1 وL2 وL3 مع الدرجة دائماً ولا تكتف بالرقم وحده، والسبب أن الرقم 1.0 قد يأتي من مستوى 1 كامل، وقد يأتي من نصف المستوى 1 ونصف المستوى 2، والخطة في الحالتين مختلفة.

## ملف التقييم الرسمي SAMM Toolbox والأدوات الأخرى

تقول [صفحة التقييم](https://owaspsamm.org/assessment/?ref=arabroot.io) إن هناك نسختين من ملف التقييم SAMM Toolbox: نسخة Microsoft Excel ونسخة Google Spreadsheet، وإن هناك أداتين على الويب: SAMMwise وهي أداة تستضيفها بنفسك (مستودعها [owaspsamm/sammwise](https://github.com/owaspsamm/sammwise?ref=arabroot.io) بترخيص Apache-2.0، وآخر تحديث لكودها في مارس 2023)، و[SAMMY](https://sammy.codific.com/?ref=arabroot.io) وهي أداة تجارية من طرف ثالث هو شركة Codific أحد رعاة المشروع. ونسخة Excel تنشر مع كل إصدار في المستودع، فملف `SAMM_spreadsheet.xlsx` مرفق بإصدار [v2.2.0](https://github.com/owaspsamm/core/releases/tag/v2.2.0?ref=arabroot.io)، وقد قمنا بتنزيله وفتحه داخل Container من `python:3.12-slim` مع openpyxl 3.1.5 لنرى أوراقه:

```bash
curl -sLO https://github.com/owaspsamm/core/releases/download/v2.2.0/SAMM_spreadsheet.xlsx
docker run -d --name lab-samm-lo -v "$PWD:/w" python:3.12-slim sleep infinity
docker exec lab-samm-lo sh -c "apt-get update -qq && apt-get install -y -qq --no-install-recommends libreoffice-calc-nogui fonts-dejavu-core poppler-utils && pip install -q openpyxl==3.1.5"
docker exec lab-samm-lo sh -c "cd /w && python sheets.py 2>/dev/null"
```

والملف `sheets.py` يطبع رقم الإصدار والترخيص من الورقة الأولى، ثم أسماء الأوراق وحالتها:

```python
import openpyxl
wb = openpyxl.load_workbook('/w/SAMM_spreadsheet.xlsx')
print(wb['Attribution and License']['B3'].value, '|', wb['Attribution and License']['B7'].value)
for ws in wb.worksheets:
    print(f'{ws.title:24} {ws.sheet_state}')
```

والمخرج سوف يكون كما يلي:

```text
'v2.2.0 | Creative Commons Attribution-ShareAlike 4.0 License
Attribution and License  visible
Getting Started          visible
Benchmark                visible
Interview                visible
Scorecard                visible
Roadmap                  visible
Roadmap Chart            hidden
Lookups                  hidden
imp-questions            hidden
DV-Lists                 hidden
imp-answers              hidden
Background Images        hidden
```

في المخرج أعلاه لاحظ التالي:

- **Getting Started:** ست خطوات: افهم النموذج، وحدد النطاق، وأجر المقابلة، وراجع النتيجة، وخطط، وشارك بياناتك في المقارنة Benchmark إذا أردت.
- **Interview:** الورقة التي تعبئها، وفيها الأسئلة التسعون مرتبة بالوظائف والممارسات، وتحت كل سؤال معايير الجودة، وعمود الإجابة من قائمة منسدلة، وعمود ملاحظات المقابلة Interview Notes، ومربع التقييم Rating لكل ممارسة.
- **Scorecard:** ورقة للقراءة فقط تحسب درجات الممارسات والوظائف تلقائياً، وفيها رسم بياني Radar.
- **Roadmap:** تكتب فيها الإجابات المستهدفة في أربع مراحل Phase 1 إلى Phase 4، فيحسب الملف درجة كل مرحلة.
- **الأوراق المخفية:** فيها الأسئلة ومجموعات الإجابات وقيمها، ولا تقم بتعديلها، لأن المعادلات تبحث فيها بالنص.
- **الترخيص:** حقل الترخيص يقول CC BY-SA 4.0 مثل الموقع والمستودع، ولاحظ أن في الورقة نفسها سطراً قديماً متبقياً يذكر نص ترخيص 3.0، والمرجع هو حقل الترخيص وموقع المشروع. ولأن الترخيص يسمح بالمشاركة مع ذكر المصدر، فالصور التالية من الملف منشورة مع نسبتها إلى OWASP SAMM.

⚠️

ملف Toolbox أداة لحساب الدرجة، وتقول ورقة Getting Started فيه إنه لا يغني عن النموذج ولا يلخصه، فاقرأ وصف كل نشاط في [صفحة النموذج](https://owaspsamm.org/model/?ref=arabroot.io) قبل أن تجيب عن سؤاله، وإلا سوف تجيب عن الجملة وليس عن النشاط.

## كيف تجري التقييم Assessment خطوة بخطوة؟

الصورة التالية تبين دورة التقييم كما يصفها [دليل البداية السريعة Quick Start Guide](https://owaspsamm.org/docs/getting-started/?ref=arabroot.io) و[دليل التقييم Assessment Guide](https://owaspsamm.org/docs/assessment/guide/?ref=arabroot.io):

![ست محطات من اليمين إلى اليسار بأسهم بينها. 1 Scope النطاق: فريق واحد، أو خط منتج، أو المؤسسة كلها، وابدأ صغيراً. 2 Interviews المقابلات: 3 إلى 5 جلسات، كل جلسة لوظيفة، ساعة ونصف إلى ساعتين. 3 Answers + Evidence الإجابات والأدلة: 90 سؤالاً، ومعيار جودة تحت كل سؤال، وملاحظة ورابط الدليل. 4 Scores الدرجات: ورقة Scorecard تحسب درجة كل ممارسة ووظيفة تلقائياً. 5 Targets الأهداف: بحسب المخاطر، وليس المستوى 3 في كل مكان. 6 Roadmap خطة على مراحل: 3 إلى 4 مراحل، لكل نشاط مسؤول وتاريخ. وسهم منقط برتقالي يعود من الخطة إلى النطاق مع جملة: نفذ الخطة، ثم أعد التقييم كل 6 إلى 12 شهراً، بالنطاق نفسه والأسئلة نفسها ومن يجري المقابلات نفسه إن أمكن، حتى تقارن الرقم بالرقم.](https://arabroot.io/content/images/2026/10/samm-05-assessment-flow.webp)

التقييم دورة تتكرر، والقيمة الحقيقية في المقارنة بين دورتين

### الخطوة الأولى: حدد النطاق Scope

النطاق قد يكون تطبيقاً واحداً أو فريقاً أو خط منتج أو المؤسسة كلها، وصفحة [تحديد النطاق](https://owaspsamm.org/docs/preparation/defining-scope/?ref=arabroot.io) واضحة في نصيحتها للتقييم الأول: ابدأ صغيراً بفريق متعاون يمثل بقية الفرق، والسبب أن البدء بالمؤسسة كلها منحنى تعلم صعب على الجميع. والقاعدة المهمة هنا أن كل من في النطاق يجب أن يعمل بالطريقة نفسها والإجراءات نفسها، فإذا كان لديك فريق يستخدم CI/CD كاملاً وفريق ينشر يدوياً، فهذان تقييمان وليسا تقييماً واحداً، لأن الإجابة «Yes, for some applications» سوف تخفي الفرق بينهما. واكتب النطاق والافتراضات والأشخاص في رأس الملف، لأنك سوف تعيد التقييم بعد أشهر وتحتاج أن تقيس الشيء نفسه.

### الخطوة الثانية: من يحضر المقابلات من أصحاب العلاقة Stakeholders؟

تذكر [الخطوة الأولى في الدليل](https://owaspsamm.org/docs/getting-started/step-1-prepare/?ref=arabroot.io) الأطراف التالية: الراعي التنفيذي Executive Sponsor، وفريق الأمن، والمطورين، والمعماريين، وأصحاب العمل Business Owners، والمختبرين QA، والمديرين. وفي الفريق الصغير هذا يعني عملياً قائد التطوير Dev Lead، ومن يدير السيرفرات والنشر Ops، ومن يهتم بالأمن أو سفير الأمن، وصاحب المنتج Product Owner لأنه يعرف الالتزامات تجاه العملاء. ولا تقم بتوزيع الأسئلة التسعين على الجميع، فدليل [إجراء المقابلات](https://owaspsamm.org/docs/assessment/interview-based-assessment/?ref=arabroot.io) يقترح من 3 إلى 5 مقابلات، كل منها ساعة ونصف إلى ساعتين، وكل مقابلة لوظيفة أو موضوع، مع مجموعة صغيرة من الناس، لأن الناس يتحدثون بصراحة أكثر في المجموعات الصغيرة.

### الخطوة الثالثة: المقابلة Interview وليس الاستبيان

يفرق [دليل التقييم](https://owaspsamm.org/docs/assessment/guide/?ref=arabroot.io) بين التقييم الذاتي Self-assessment والتقييم بخبير مستقل Expert Assessment، وبين الاستبيان Questionnaire والمقابلة، ويقول إن الاستبيان بتسعين سؤالاً قد يكون مرهقاً وتفسيره يختلف من فريق لآخر، وإن المقابلة أفضل في المرة الأولى، والاستبيان مناسب لتحديث الدرجات بعد ذلك. وأهم نصائح المقابلة في الدليل:

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

### الخطوة الرابعة: الأدلة Evidence والصدق في الإجابة

هناك إغراء كبير في أن ترفع الإجابة قليلاً، فـ «نمذجنا التهديدات مرة لتطبيق واحد قبل سنة» تصبح «Yes, for some applications»، و«لدينا وثيقة سياسات لم يقرأها أحد» تصبح «Yes». لا تقم بذلك، والسبب أن الدرجة لا تمنحك أماناً، وإنما تقرر أين تضع وقت الفريق في الأشهر القادمة، فإذا ضخمت درجة ممارسة فسوف تتركها في الخطة وهي تحتاج عملاً. والطريقة الصحيحة أن تقرأ معايير الجودة تحت السؤال، فإذا لم تتحقق كلها فالإجابة «No» كما تقول صفحة التقييم، وأن تضع في عمود الملاحظات رابطاً للدليل نفسه (تقرير فحص، أو إعداد حماية الفرع، أو محضر جلسة نمذجة)، كما شرحنا في [الأدلة Evidence](https://arabroot.io/articles/%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-grc-%D8%A7%D9%84%D8%AD%D9%88%D9%83%D9%85%D8%A9-%D9%88%D8%A7%D9%84%D9%85%D8%AE%D8%A7%D8%B7%D8%B1-%D9%88%D8%A7%D9%84%D8%A7%D9%85%D8%AA%D8%AB%D8%A7%D9%84/#evidence): ما لم يوثق فهو لم يحدث. وتنصح [خطوة التقييم في الدليل](https://owaspsamm.org/docs/getting-started/step-2-assess/?ref=arabroot.io) بأن تقرر مسبقاً كيف تعطي الإجابات الجزئية وتكتب قراراتك، وأن تسأل أكثر من شخص السؤال نفسه، وأن تحدد الأنشطة التي لا تنطبق عليك.

## مثال عملي: نعبئ ملف SAMM لشركة SaaS تخيلية

لنفرض أن لدينا شركة تخيلية (ليست شركة حقيقية) فيها 15 شخصاً، تبيع خدمة فواتير SaaS للشركات الصغيرة، ولديها ثلاثة تطبيقات: تطبيق الويب للعملاء، وواجهة API عامة، ولوحة إدارة داخلية. والفريق يستخدم Git وخط CI/CD، ويشغل فحص الأسرار وSAST وفحص الاعتماديات منذ أشهر بعد قراءة [DevSecOps للمبتدئين](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/)، والنشر مؤتمت، ولكن لا توجد استراتيجية أمن مكتوبة، ولا تصنيف للتطبيقات، والثغرات تتابع في رسائل المحادثة. والنطاق هو الشركة كلها، لأن الفرق تعمل بالطريقة نفسها.

### كيف أجبنا عن بعض الأسئلة Questions؟

لن نعرض الأسئلة التسعين كلها، وإنما ستة منها مع سبب الإجابة، والأسئلة منقولة كما هي من ملف v2.2.0:

| النشاط   | السؤال في الملف                                                                                            | ما وجدناه في المقابلة                                                               | الإجابة (القيمة)                                 |
| -------- | ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------ |
| G-SM-1-A | Do you understand the enterprise-wide risk appetite for your applications?                                 | المؤسسون يعرفون أن تسريب بيانات الفواتير أخطر ما قد يحدث، ولكن لا توجد وثيقة معتمدة | Yes, it covers general risks (0.25)              |
| D-TA-1-A | Do you classify applications according to business risk based on a simple and predefined set of questions? | لا يوجد تصنيف، والجميع يعامل التطبيقات الثلاثة بالطريقة نفسها                       | No (0)                                           |
| D-TA-1-B | Do you identify and manage architectural design flaws with threat modeling?                                | جلسة نمذجة واحدة لميزة الدفع قبل سنة، ونتيجتها في ملف                               | Yes, some of them (0.25)                         |
| I-SB-1-A | Is your full build process formally described?                                                             | البناء كله في ملفات الخط داخل المستودع، والأدوات محدثة، والهاش يحسب للمخرجات        | Yes, for most or all of the applications (1)     |
| I-DM-1-A | Do you track all known security defects in accessible locations?                                           | نتائج الأدوات في تقارير CI، والثغرات اليدوية في المحادثة، ولا يوجد مكان واحد        | Yes, for at least half of the applications (0.5) |
| O-IM-1-B | Do you respond to detected incidents?                                                                      | مدير التقنية هو المسؤول عملياً، ونصف الحوادث تقريباً لها توثيق                      | Yes, for at least half of the incidents (0.5)    |

ولاحظ في السؤال الأول أن الإجابة ليست «Yes, for some applications»، لأن هذا السؤال يستخدم مجموعة إجابات خاصة تقيس عمق فهم المخاطر، من «Yes, it covers general risks» إلى «Yes, it covers risks and opportunities»، لذلك اقرأ خيارات الإجابة لكل سؤال قبل أن تختار.

### تعبئة الملف الرسمي وحساب الدرجات Scores

بدلاً من أن نحسب الدرجات بأيدينا، قمنا بتعبئة الإجابات التسعين في ورقة `Interview` من الملف الرسمي نفسه، ثم تركنا LibreOffice يعيد حساب المعادلات، ثم قرأنا ورقة `Scorecard`. والملف `fill.py` كما يلي، وفي القاموس `V` إجابات كل ممارسة بالترتيب A1 وB1 وA2 وB2 وA3 وB3:

```python
# Fill the official SAMM v2.2.0 toolbox with the answers of a fictional 15-person SaaS company
import openpyxl
V = {  # practice: [A1, B1, A2, B2, A3, B3] as answer values 0 / 0.25 / 0.5 / 1
 'G-SM':[0.25,0,0,0,0,0], 'G-PC':[0.25,0.5,0,0,0,0], 'G-EG':[0.25,0.5,0,0,0,0],
 'D-TA':[0,0.25,0,0,0,0], 'D-SR':[0.25,0.25,0,0,0,0], 'D-SA':[0.5,0.5,0.25,0.25,0,0],
 'I-SB':[1,0.5,1,0.25,0,0], 'I-SD':[1,0.5,0.5,0.5,0,0], 'I-DM':[0.5,0,0,0,0,0],
 'V-AA':[0.25,0.25,0,0,0,0], 'V-RT':[0.5,0,0,0,0,0], 'V-ST':[1,0.25,0.25,0,0,0],
 'O-IM':[0.25,0.5,0,0,0,0], 'O-EM':[1,0.5,0.25,0,0,0], 'O-OM':[0.25,0.25,0,0,0,0],
}
wb = openpyxl.load_workbook('/w/SAMM_spreadsheet.xlsx')
q = {r[0].value: r[7].value for r in wb['imp-questions'].iter_rows(min_row=2) if r[0].value}
ans = {r[0].value: [c.value for c in r[1:5]] for r in wb['imp-answers'].iter_rows(min_row=2) if r[0].value is not None}
order = {0:0, 0.25:1, 0.5:2, 1:3}
iv = wb['Interview']
iv['D10'] = 'Fictional SaaS (15 people)'; iv['D11'] = 'Whole company: 3 applications'; iv['D12'] = '2026-10-07'
n = 0
for row in iv.iter_rows(min_row=18):
    code = row[0].value
    if not code or code not in q: continue
    bf, pr, st, lvl, _ = code.split('-')
    val = V[f'{bf}-{pr}'][(int(lvl)-1)*2 + (0 if st == 'A' else 1)]
    text = ans[q[code]][order[val]]
    iv.cell(row=row[0].row, column=6, value=text); n += 1
print('answered', n)
wb.save('/w/out/SAMM_filled.xlsx')
```

في الكود أعلاه لاحظ التالي:

- **رمز السؤال في الملف:** العمود A في ورقة `Interview` يحمل رموزاً مثل `D-TA-B-1-1`، أي الوظيفة والممارسة والمسار ثم المستوى، وهو ترتيب يختلف قليلاً عن أسماء ملفات النموذج `D-TA-1-B`، والمعنى واحد.
- **نص الإجابة وليس الرقم:** الملف يبحث عن نص الإجابة في جدول مجموعات الإجابات ليحولها إلى قيمة، لذلك نأخذ النص من الورقة المخفية `imp-answers` بحسب رقم مجموعة الإجابات لكل سؤال في `imp-questions`.
- **openpyxl لا يحسب المعادلات:** هو يكتب الإجابات فقط، لذلك نفتح الملف في LibreOffice ونحفظه ليعيد حساب كل المعادلات.

والملف `score.py` يقرأ القيم التي حسبتها معادلات ورقة `Scorecard`:

```python
# Read the scores that the toolbox formulas calculated (after LibreOffice recalculated the file)
import openpyxl
wb = openpyxl.load_workbook('/w/out/calc/SAMM_filled.xlsx', data_only=True)
s = wb['Scorecard']
for r in range(14, 29):                      # 15 practices: function, practice, score, L1, L2, L3
    a, b, c, d, e, f = (s.cell(r, k).value for k in range(1, 7))
    print(f'{a:15} {b:24} {c:<6} L1={d:<6} L2={e:<6} L3={f}')
print('---')
for r in range(14, 20):                      # 5 business functions and the overall score
    print(f'{s.cell(r, 9).value:15} {s.cell(r, 10).value:.3f}')
```

الآن سوف نقوم بتشغيل الثلاثة معاً في ال Container نفسه:

```bash
mkdir -p out
docker exec lab-samm-lo sh -c "cd /w && python fill.py && soffice --headless --convert-to xlsx --outdir /w/out/calc /w/out/SAMM_filled.xlsx >/dev/null 2>&1 && python score.py 2>/dev/null"
```

والمخرج سوف يكون كما يلي:

```text
answered 90
Governance      Strategy & Metrics       0.125  L1=0.125  L2=0      L3=0
Governance      Policy & Compliance      0.375  L1=0.375  L2=0      L3=0
Governance      Education & Guidance     0.375  L1=0.375  L2=0      L3=0
Design          Threat Assessment        0.125  L1=0.125  L2=0      L3=0
Design          Security Requirements    0.25   L1=0.25   L2=0      L3=0
Design          Secure Architecture      0.75   L1=0.5    L2=0.25   L3=0
Implementation  Secure Build             1.375  L1=0.75   L2=0.625  L3=0
Implementation  Secure Deployment        1.25   L1=0.75   L2=0.5    L3=0
Implementation  Defect Management        0.25   L1=0.25   L2=0      L3=0
Verification    Architecture Assessment  0.25   L1=0.25   L2=0      L3=0
Verification    Requirements Testing     0.25   L1=0.25   L2=0      L3=0
Verification    Security Testing         0.75   L1=0.625  L2=0.125  L3=0
Operations      Incident Management      0.375  L1=0.375  L2=0      L3=0
Operations      Environment Management   0.875  L1=0.75   L2=0.125  L3=0
Operations      Operational Management   0.25   L1=0.25   L2=0      L3=0
---
Governance      0.292
Design          0.375
Implementation  0.958
Verification    0.417
Operations      0.500
Overall         0.508
```

ولاحظ أننا أخفينا رسائل `2>/dev/null` لأن openpyxl يطبع تنبيهات بأنه لا يدعم بعض امتدادات Excel مثل التنسيق الشرطي Conditional Formatting، وهي لا تؤثر على القيم. والصورة التالية جزء من ورقة `Interview` بعد التعبئة، صدرناها من الملف نفسه بـ LibreOffice إلى PDF ثم إلى صورة:

![لقطة من ورقة Interview في ملف SAMM Toolbox v2.2.0 بعد التعبئة: العنوان SAMM Assessment Interview: Whole company: 3 applications For Fictional SaaS (15 people)، ثم مربع التعليمات، ثم حقول Organization وTeam/Application وInterview Date، ثم شريط Governance ثم جدول ممارسة Strategy & Metrics بأعمدة Stream وLevel والسؤال وAnswer وInterview Notes وRating. المسار Create and Promote فيه ثلاثة أسئلة للمستويات 1 و2 و3: الأول Do you understand the enterprise-wide risk appetite for your applications? وإجابته Yes, it covers general risks، والثاني والثالث إجابتهما No، وتحت كل سؤال معايير الجودة. والمسار Measure and Improve فيه ثلاثة أسئلة عن المقاييس وKPIs كلها No. ومربع Rating يظهر 0.13.](https://arabroot.io/content/images/2026/10/samm-08-toolbox-interview.webp)

ورقة Interview من ملف OWASP SAMM Toolbox v2.2.0 (CC BY-SA 4.0) بإجابات الشركة التخيلية، ومعايير الجودة تحت كل سؤال

وهذه ورقة `Scorecard` كما حسبها الملف:

![لقطة من ورقة Scorecard في ملف SAMM Toolbox بعنوان Current Maturity Score. جدول على اليسار بأعمدة Business Functions وSecurity Practices وScore والمستويات 1 و2 و3 للممارسات الخمس عشرة: Strategy & Metrics 0.13، وPolicy & Compliance 0.38، وEducation & Guidance 0.38، وThreat Assessment 0.13، وSecurity Requirements 0.25، وSecure Architecture 0.75، وSecure Build 1.38، وSecure Deployment 1.25، وDefect Management 0.25، وArchitecture Assessment 0.25، وRequirements Testing 0.25، وSecurity Testing 0.75، وIncident Management 0.38، وEnvironment Management 0.88، وOperational Management 0.25. وجدول على اليمين للوظائف: Governance 0.29، وDesign 0.38، وImplementation 0.96، وVerification 0.42، وOperations 0.50، وOverall 0.51.](https://arabroot.io/content/images/2026/10/samm-09-toolbox-scorecard.webp)

ورقة Scorecard تعرض الدرجة مقربة لرقمين، فالدرجة 0.125 تظهر 0.13

### ماذا يحدث إذا كتبت الإجابة بيدك بدلاً من القائمة المنسدلة Drop-down؟

عمود الإجابة قائمة منسدلة، ولكن لا شيء يمنع شخصاً من لصق نص من مكان آخر أو كتابة «Yes» فقط. لنجرب ذلك على السؤال `D-TA-B-1-1` الذي كانت إجابته «Yes, some of them»، والملف `break.py` كما يلي:

```python
# Type a free-text answer that is not in the drop-down list, then recalculate
import openpyxl
wb = openpyxl.load_workbook('/w/out/SAMM_filled.xlsx')
iv = wb['Interview']
for row in iv.iter_rows(min_row=18):
    if row[0].value == 'D-TA-B-1-1':
        print(row[0].value, 'was:', row[5].value)
        row[5].value = 'Yes'
wb.save('/w/out/SAMM_broken.xlsx')
```

والملف `score_ta.py` يقرأ صف ممارسة Threat Assessment ودرجة وظيفة Design بعد إعادة الحساب:

```python
import openpyxl
s = openpyxl.load_workbook('/w/out/calc/SAMM_broken.xlsx', data_only=True)['Scorecard']
print(s.cell(17, 2).value, s.cell(17, 3).value, '| Design', round(s.cell(15, 10).value, 3))
```

ثم نشغل الاثنين:

```bash
docker exec lab-samm-lo sh -c "cd /w && python break.py && soffice --headless --convert-to xlsx --outdir /w/out/calc /w/out/SAMM_broken.xlsx >/dev/null 2>&1 && python score_ta.py 2>/dev/null"
```

والمخرج سوف يكون كما يلي:

```text
D-TA-B-1-1 was: Yes, some of them
Threat Assessment 0 | Design 0.333
```

وعند تشغيل الأمر سوف تجد أن الملف لم يعط أي خطأ، وإنما نزلت درجة الممارسة من 0.125 إلى 0، ودرجة Design من 0.375 إلى 0.333، والسبب أن معادلة الإجابة تحاط بـ `IFERROR(…, 0)`، فأي نص لا تجده في جدول الإجابات يصبح صفراً بصمت. لذلك اختر الإجابات من القائمة دائماً، وإذا جمعت إجابات من عدة أشخاص في ملف واحد فراجع أن كل خلية فيها نص من القائمة قبل أن تقرأ الدرجات.

### كيف تقرأ النتيجة Result؟

الصورة التالية ترسم الدرجات الخمس عشرة التي حسبها الملف، ومعها الهدف بعد سنة من الخطة التي سوف نبنيها في القسم التالي:

![رسم أعمدة أفقية تنمو من اليمين إلى اليسار على محور من 0 إلى 3، مع شارة حمراء مثال تخيلي Fictional، وليس شركة حقيقية. الحوكمة متوسطها 0.29 والهدف 0.83: Strategy and Metrics من 0.13 إلى 0.75، وPolicy and Compliance من 0.38 إلى 1.00، وEducation and Guidance من 0.38 إلى 0.75. التصميم 0.38 إلى 0.71: Threat Assessment من 0.13 إلى 0.75، وSecurity Requirements من 0.25 إلى 0.63، وSecure Architecture 0.75 دون تغيير. التنفيذ 0.96 إلى 1.21: Secure Build 1.38 وSecure Deployment 1.25 دون تغيير، وDefect Management من 0.25 إلى 1.00. التحقق 0.42 إلى 0.54: Architecture Assessment 0.25، وRequirements-driven Testing من 0.25 إلى 0.50، وSecurity Testing من 0.75 إلى 0.88. التشغيل 0.50 إلى 0.83: Incident Management من 0.38 إلى 0.75، وEnvironment Management من 0.88 إلى 1.13، وOperational Management من 0.25 إلى 0.63. وفي اليسار الدرجة الكلية Overall من 0.51 إلى 0.83 من 3.](https://arabroot.io/content/images/2026/10/samm-06-fictional-result.webp)

الأعمدة الممتلئة من ملف Toolbox، والإطار المنقط الهدف بعد أربع مراحل، والمثال كله تخيلي

في النتيجة أعلاه لاحظ التالي:

- **البناء والنشر في الأعلى:** لأن الفريق بدأ بالأدوات، وهذا هو الشكل المعتاد لفريق قرأ عن DevSecOps، فالأتمتة سهلة القياس وتعطي نتيجة سريعة.
- **الحوكمة وتقييم التهديدات وإدارة العيوب في القاع:** لا يوجد تصنيف للتطبيقات، ولا مكان واحد للثغرات، وهذه الثلاثة تحديداً هي ما يجعل نتائج الأدوات مفيدة، فالأداة التي تجد ثغرة لا تنفع إذا ضاعت النتيجة في المحادثة.
- **الدرجة الكلية 0.51 من 3:** هذا الرقم يقول إن معظم الممارسات في بداية المستوى 1، وهذه نقطة بداية طبيعية لشركة بهذا الحجم، والمهم هو الرقم في التقييم القادم.

## من الدرجة إلى خطة تحسين Roadmap

الخطأ الأشهر بعد التقييم أن يقول أحدهم «هدفنا المستوى 3 في كل الممارسات»، وهذا الهدف غير مناسب إطلاقاً لشركة من خمسة عشر شخصاً، لأن المستوى 3 يعني مثلاً فريق استجابة مخصصاً، ونظاماً لإدارة التدريب، ومعماريات مرجعية محدثة باستمرار، وكل هذا تكلفة لا تبررها مخاطرها اليوم. وتقول [خطوة تحديد الهدف](https://owaspsamm.org/docs/getting-started/step-3-set-the-target/?ref=arabroot.io) في الدليل إن الهدف يحدد بحسب ملف المخاطر Risk Profile، وإنه يحتوي عادة أنشطة من المستويات الأدنى أكثر من الأعلى، وإن تكلفة برنامج ضمان البرمجيات تقدر تقريباً بين 5% و10% من تكلفة التطوير الكلية، وهذا رقم مفيد عندما تتحدث مع الإدارة عن الميزانية.

### كيف تختار الهدف Target لكل ممارسة؟

اسأل لكل ممارسة سؤالين: ما أسوأ ما يحدث إذا بقيت كما هي؟ وهل تعتمد عليها ممارسات أخرى؟ ففي مثالنا قررنا ما يلي:

- **ارفع ما يجعل الأدوات مفيدة أولاً:** إدارة العيوب من 0.25 إلى 1.0، وتقييم التهديدات من 0.13 إلى 0.75، لأن الشركة تحمل بيانات فواتير عملاء، وثغرة في عزل المستأجرين Tenant Isolation هي أخطر ما قد يحدث.
- **ابدأ الحوكمة بخطوة صغيرة:** صفحة واحدة لشهية المخاطر وبضعة مقاييس، وليس برنامج حوكمة كاملاً.
- **اترك ما هو جيد بما يكفي:** البناء والنشر 1.38 و1.25 يكفيان الآن، فلا تضع فيهما وقتاً هذه السنة.
- **احترم الاعتماديات بين الأنشطة:** لا تقم بمقاييس متقدمة للعيوب قبل أن توجد العيوب في مكان واحد، ولا تقم بنمذجة تهديدات لكل التطبيقات قبل أن تعرف أيها أخطر.

### الخطة على أربع مراحل Phases

تقول [خطوة الخطة](https://owaspsamm.org/docs/getting-started/step-4-define-the-plan/?ref=arabroot.io) في الدليل إن الخطة المعتادة من 4 إلى 6 مراحل، مدة كل مرحلة بين 3 و12 شهراً، وإن تبدأ بما ينجز بسرعة وبالتوعية والتدريب، وإن توزع الجهد بالتساوي وتحترم الاعتماديات. ولشركة صغيرة اخترنا أربع مراحل كل منها ربع سنة، والصورة التالية تبين الخطة:

![أربعة أعمدة من اليمين إلى اليسار. المرحلة 1 الربع الأول، الأساس والمكاسب السريعة Quick Wins: G-SM-1-A صفحة واحدة لشهية المخاطر Risk Appetite، وD-TA-1-A تصنيف التطبيقات الثلاثة ARC-ASC-01-01، وI-DM-1-A كل النتائج في متتبع واحد ARC-ASC-11-08، وG-EG-1-B سفير أمن لكل فريق ARC-ASC-01-05، وO-IM-1-B مسؤول وخطة استجابة ARC-ASC-13-07. المرحلة 2 الربع الثاني، المتطلبات والتصميم: D-SR-1-A متطلبات ASVS في التذاكر ARC-ASC-01-03/04، وD-TA-1-B نمذجة التهديدات للميزات الخطرة ARC-ASC-02-01، وI-DM-1-B أرقام بسيطة عن العيوب ARC-ASC-11-08، وG-PC-1-B قائمة الالتزامات الخارجية NCA ECC. المرحلة 3 الربع الثالث، الاختبار والتشغيل: V-RT-1-A اختبارات الصلاحيات والمصادقة ARC-ASC-11-04، وV-ST-2-A ضبط SAST وDAST على التطبيقات ARC-ASC-11-02/03، وO-EM-2-B عملية تحديث بمواعيد ARC-ASC-12-07، وO-OM-1-A جرد البيانات الحساسة ARC-ASC-06-01، وO-IM-1-A مراجعة السجلات دورياً ARC-ASC-13-02. المرحلة 4 الربع الرابع، القياس وإعادة التقييم: G-SM-1-B مقاييس البرنامج الأمني Metrics، وG-PC-2-B ربط الالتزامات بمتطلبات ARC-ASC-01-03، وI-DM-2-A مقياس خطورة واحد ومواعيد SLA ARC-ASC-11-08، وRe-assess إعادة التقييم بالنطاق نفسه SAMM v2.2.0.](https://arabroot.io/content/images/2026/10/samm-07-roadmap.webp)

كل بند نشاط من SAMM يرفع ممارسة، ومعه الضابط الذي يحوله إلى متطلب يمكن التحقق منه

في الخطة أعلاه لاحظ التالي:

- **المرحلة الأولى كلها مكاسب سريعة Quick Wins:** لا يحتاج أي بند فيها أداة جديدة، وإنما قراراً وشخصاً وصفحة، ومع ذلك ترفع خمس ممارسات.
- **كل بند له رمز نشاط:** فعندما تعيد التقييم تعرف أي سؤال يجب أن تتغير إجابته، وإذا لم تتغير فالبند لم ينجز فعلاً.
- **إعادة التقييم جزء من الخطة:** وليست حدثاً منفصلاً، ونقترح أن تكون كل 6 إلى 12 شهراً بالنطاق نفسه والأسئلة نفسها، حتى تقارن الرقم بالرقم.

### كيف يرتب SAMM أولوية ضوابط ARC-ASC؟

في [دليل ضوابط أمن التطبيقات](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/#structure) يقترح الدليل تسعين ضابطاً مرقماً في ثلاثة عشر نطاقاً، ولكل ضابط درجة Tier تحدد أقل أهمية للتطبيق يلزمه عندها، وفي [مسار التبني](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/#adoption) يذكر الدليل أن SAMM يقيس العملية والدليل يقيس النتيجة. وعملياً فإن الدليل يقول لك «ما الذي يجب أن يكون صحيحاً في هذا التطبيق»، ولكن عندما يكون أمامك 56 ضابطاً للدرجة 1 وحدها فأنت تحتاج ترتيباً، وهنا يأتي SAMM: الممارسات الأضعف في التقييم تشير إلى النطاقات التي تبدأ بها. والجدول التالي يربط الممارسة بالمقال الذي يشرحها والضوابط التي تنفذها:

| الممارسة الضعيفة في التقييم | اقرأ                                                                                                                                                                                                                                                                                                                                                                                                  | ضوابط ARC-ASC التي تبدأ بها                                                        |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| Threat Assessment           | [نمذجة التهديدات](https://arabroot.io/articles/%D9%86%D9%85%D8%B0%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D9%87%D8%AF%D9%8A%D8%AF%D8%A7%D8%AA-threat-modeling-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)                                                                                                                                                                                         | 01-01 تصنيف التطبيق، و02-01 نمذجة التهديدات قبل البناء                             |
| Security Requirements       | [ASVS ومراجعة الكود](https://arabroot.io/articles/%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D8%A7%D9%85%D8%A7%D9%86-%D9%88%D9%85%D8%B1%D8%A7%D8%AC%D8%B9%D8%A9-%D8%A7%D9%84%D9%83%D9%88%D8%AF-%D9%85%D8%B9-owasp-asvs/)                                                                                                                                                                 | 01-02 مستوى ASVS، و01-03 وثيقة المتطلبات، و01-04 متطلبات قابلة للاختبار في التذاكر |
| Education and Guidance      | [سفير الأمن](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/#champions)                                                                                                                                                                                                                                                    | 01-05 الأدوار والتدريب وسفراء الأمن                                                |
| Defect Management           | [فرز النتائج Triage](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/#triage)، ومقال إدارة الثغرات مع DefectDojo قادم في خارطة الطريق                                                                                                                                                                                       | 11-08 إدارة الثغرات المكتشفة والإفصاح عنها                                         |
| Security Testing            | [SAST](https://arabroot.io/articles/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%83%D9%88%D8%AF-%D8%A7%D9%84%D8%AB%D8%A7%D8%A8%D8%AA-sast-%D9%85%D8%B9-semgrep-%D9%88-sonarqube/) و[DAST](https://arabroot.io/articles/%D9%81%D8%AD%D8%B5-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AB%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-dast-%D9%85%D8%B9-zap/)              | 11-02 SAST، و11-03 DAST، و11-07 اختبار الاختراق                                    |
| Requirements-driven Testing | [أنواع الاختبارات](https://arabroot.io/articles/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-unit-%D9%88-integration-%D9%88-e2e/)                                                                                                                                                               | 11-04 اختبار التطبيق مقابل متطلباته، و02-06 حالات الإساءة                          |
| Secure Build                | [سلسلة التوريد](https://arabroot.io/articles/%D8%A7%D9%85%D9%86-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)                                                                                                                                                   | 09-02 SBOM، و09-03 فحص الاعتماديات، و10-03 حماية خط CI/CD                          |
| Secure Deployment           | [فحص الأسرار](https://arabroot.io/articles/%D8%A7%D9%83%D8%AA%D8%B4%D8%A7%D9%81-%D8%A7%D9%84%D8%A7%D8%B3%D8%B1%D8%A7%D8%B1-%D8%A7%D9%84%D9%85%D8%B3%D8%B1%D8%A8%D8%A9-%D9%85%D8%B9-gitleaks-%D9%88-trufflehog/)                                                                                                                                                                                       | 10-04 فحص الأسرار، و06-05 إدارة المفاتيح والأسرار، و10-07 فصل البيئات              |
| Environment Management      | [تأمين خادم VPS](https://arabroot.io/articles/%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D8%AE%D8%A7%D8%AF%D9%85-vps-%D9%85%D9%86-%D8%A3%D9%88%D9%84-%D8%AF%D8%AE%D9%88%D9%84/)، ومقال فحص ال Docker Images مع Trivy قادم                                                                                                                                                                                        | 12-07 التحديثات، و09-05 Docker Images مفحوصة، و11-05 مراجعة التحصين قبل الإطلاق    |
| Incident Management         | [DFIR للمبتدئين](https://arabroot.io/articles/%D8%A7%D9%84%D8%AA%D8%AD%D9%82%D9%8A%D9%82-%D8%A7%D9%84%D8%B1%D9%82%D9%85%D9%8A-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-dfir/) و[سجل التدقيق](https://arabroot.io/articles/%D8%B3%D8%AC%D9%84-%D8%A7%D9%84%D8%AA%D8%AF%D9%82%D9%8A%D9%82-audit-trail-%D9%85%D9%86-%D9%81%D8%B9%D9%84-%D9%85%D8%A7%D8%B0%D8%A7-%D9%88%D9%85%D8%AA%D9%89/) | 13-02 تسجيل الأحداث الأمنية، و13-06 سجل التدقيق، و13-07 الجاهزية للحوادث           |
| Policy and Compliance       | [NCA ECC بلغة بسيطة](https://arabroot.io/articles/%D8%A7%D9%84%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%84%D8%A7%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D9%84%D9%84%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-nca-ecc-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%B3%D9%8A%D8%B7%D8%A9/)                                                                                                 | 01-03 وثيقة المتطلبات المعتمدة، و01-07 المراجعة الدورية                            |
| Operational Management      | [نطاق حماية البيانات](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/#d06)                                                                                                                             | 06-01 جرد البيانات الحساسة، و06-06 بيانات الإنتاج خارج الإنتاج                     |

ولاحظ أن الربط في الاتجاهين: SAMM يقول لك أي النطاقات تبدأ بها، والدليل يعطيك جملة «يجب» قابلة للتحقق ودليلاً للمدقق، فعندما تجيب في التقييم القادم عن سؤال `I-DM-1-A` تستطيع أن تضع في الملاحظات رابط تقييم الضابط 11-08 في ملف Excel الخاص بالدليل، فيصبح الدليل واحداً للاثنين.

### ماذا تقيس بين تقييمين؟ المقاييس Metrics

الدرجة نفسها تقاس مرة أو مرتين في السنة، وبينهما تحتاج أرقاماً قليلة تعرف منها أن الخطة تمشي، والممارسة Strategy and Metrics نفسها تطلب في المستوى 1 مقاييس سهلة الجمع ويعبر عنها بعدد أو نسبة. ومن الأمثلة المناسبة لمثالنا:

- نسبة بنود الخطة المنجزة في كل مرحلة، مع رمز النشاط لكل بند.
- عدد الثغرات المفتوحة من مستوى Critical وHigh، ومتوسط الزمن من الاكتشاف إلى الإصلاح، كما في [خطة إدخال الفحوص على مراحل](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/#adoption).
- نسبة الميزات الكبيرة التي مرت بجلسة نمذجة تهديدات.
- نسبة التطبيقات المصنفة ولها مستوى ASVS مكتوب.

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

## قالب Template جاهز للنسخ

الجدول التالي يكفي لتبدأ قبل أن تفتح ملف Toolbox، فاكتب فيه الممارسات الضعيفة فقط، ولكل منها خطوة واحدة ومسؤول وتاريخ:

| الممارسة              | الحالي | الهدف | الخطوة التالية (رمز النشاط)                      | المسؤول      | الموعد             |
| --------------------- | ------ | ----- | ------------------------------------------------ | ------------ | ------------------ |
| Threat Assessment     | 0.13   | 0.75  | تصنيف التطبيقات الثلاثة بخمسة أسئلة (D-TA-1-A)   | قائد التطوير | نهاية الربع الأول  |
| Defect Management     | 0.25   | 1.0   | كل النتائج في متتبع واحد بخطورة (I-DM-1-A)       | سفير الأمن   | نهاية الربع الأول  |
| Incident Management   | 0.38   | 0.75  | مسؤول مسمى وخطة استجابة في صفحة (O-IM-1-B)       | مدير التقنية | نهاية الربع الأول  |
| Security Requirements | 0.25   | 0.63  | متطلبات ASVS في تذاكر الميزات الحساسة (D-SR-1-A) | صاحب المنتج  | نهاية الربع الثاني |

وهذه النسخة نفسها بصيغة CSV لتنسخها إلى أي جدول:

```text
practice,current,target,next_action,samm_activity,owner,due
Threat Assessment,0.13,0.75,Classify the 3 applications with 5 questions,D-TA-1-A,Dev lead,Q1
Defect Management,0.25,1.0,All findings in one tracker with severity,I-DM-1-A,Security champion,Q1
Incident Management,0.38,0.75,Named owner and one-page response plan,O-IM-1-B,CTO,Q1
Security Requirements,0.25,0.63,ASVS requirements in tickets of sensitive features,D-SR-1-A,Product owner,Q2
```

## أخطاء شائعة Common Mistakes

- **معاملة التقييم كتدقيق Audit:** إذا شعر الفريق أنه يمتحن فسوف يضخم الإجابات، والنموذج نفسه يقول إن المقابلة تعاون وليست تحقيقاً، فافصل بين التقييم للتحسين والتدقيق للامتثال.
- **تحويله إلى قائمة تحقق:** الإجابة عن 90 سؤالاً بنعم ولا دون قراءة معايير الجودة تعطيك رقماً لا معنى له، والقيمة في الإجابات الجزئية والملاحظات.
- **تقييم كل شيء مرة واحدة:** المؤسسة كلها في التقييم الأول تعني إجابات متوسطة تخفي الفروق بين الفرق، فابدأ بفريق واحد يمثل البقية.
- **هدف المستوى 3 في كل مكان:** الهدف يحدد بالمخاطر، ولشركة صغيرة قد يكون الهدف بعد سنة أقل من 1 في نصف الممارسات، وهذا صحيح.
- **لا يوجد مالك:** التقييم الذي لا يملكه شخص بالاسم ينتهي ملفاً في مجلد، فكل بند في الخطة له مسؤول وتاريخ.
- **درجات بلا أدلة:** إجابة دون رابط لدليل لا يمكن مراجعتها في التقييم القادم، ولا يمكن أن تعرف هل تغيرت فعلاً.
- **تغيير النطاق أو الأسئلة بين تقييمين:** إذا قيمت فريقاً في المرة الأولى والمؤسسة في الثانية، فلن تستطيع أن تقارن الرقمين أصلاً.
- **كتابة الإجابات بيدك في الملف:** كما رأينا، النص الذي ليس في القائمة يصبح صفراً دون أي رسالة خطأ.

## الخلاصة

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

- سؤال «هل نحن آمنون؟» لا إجابة له بنعم أو لا، والأدوات وحدها لا تصنع برنامجاً، ونموذج النضج يحول السؤال إلى «أين نحن، وما الخطوة التالية؟».
- OWASP SAMM v2 (آخر إصدار v2.2.0 في يوليو 2026، بترخيص CC BY-SA 4.0) فيه 5 وظائف و15 ممارسة و30 مساراً و90 نشاطاً، وكل نشاط سؤال في التقييم.
- SAMM يقيس البرنامج (المصنع) وASVS يقيس التطبيق (المنتج)، وBSIMM يصف ما تفعله الشركات، وDSOMM يفصل جزء DevSecOps.
- الإجابات 0 و0.25 و0.5 و1، ودرجة الممارسة مجموع متوسطات المسارين في المستويات الثلاثة (من 0 إلى 3)، ودرجة الوظيفة متوسط ممارساتها.
- التقييم الجيد نطاق صغير ثابت، ومقابلات قصيرة بالوظائف، وإجابات صادقة عليها أدلة، ثم أهداف بحسب المخاطر وخطة على مراحل، ثم إعادة التقييم بالطريقة نفسها.
- في مثالنا التخيلي حسب الملف الرسمي درجة كلية 0.51، والخطة لسنة ترفعها إلى 0.83 دون أي هدف قريب من المستوى 3.
- الممارسات الأضعف في SAMM تخبرك بأي نطاقات دليل ضوابط أمن التطبيقات تبدأ، والضوابط تعطيك المتطلب والدليل الذي يثبت أن النشاط حدث.

[![](https://arabroot.io/content/images/2026/10/owasp-overview-cover-cover.webp)دليلما هي OWASP؟ مشاريعها ووثائقها ومتى تستخدم كلاً منهامن يدير OWASP ولماذا كل ما تنشره مجاني، وأي مورد من مواردها تفتح في كل مرحلة من بناء تطبيقك.](https://arabroot.io/articles/%D9%85%D8%A7-%D9%87%D9%8A-owasp-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9%D9%87%D8%A7-%D9%88%D9%88%D8%AB%D8%A7%D8%A6%D9%82%D9%87%D8%A7-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)[![](https://arabroot.io/content/images/2026/10/asvs-review-cover-cover.webp)دليلOWASP ASVS ومراجعة الكود الأمنية لكل Pull Requestكيف تكتب متطلبات أمان يمكن اختبارها مع OWASP ASVS، وتراجع كل طلب دمج أمنياً في عشرين دقيقة بقائمة جاهزة.](https://arabroot.io/articles/%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D8%A7%D9%85%D8%A7%D9%86-%D9%88%D9%85%D8%B1%D8%A7%D8%AC%D8%B9%D8%A9-%D8%A7%D9%84%D9%83%D9%88%D8%AF-%D9%85%D8%B9-owasp-asvs/)[![](https://arabroot.io/content/images/2026/10/devsecops-cover-cover.webp)دليلDevSecOps للمبتدئين: الأمن داخل خط CI/CD ومتى يعمل كل فحصما الذي يجده كل فحص أمني في خط CI/CD وما الذي يفوته، وكيف ترتب نتائجه حتى تصل إلى قرار بدل قائمة طويلة.](https://arabroot.io/articles/devsecops-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-sast-%D9%88-dast-%D9%88-sca/)[![](https://arabroot.io/content/images/2026/10/appsec-controls-cover-cover.webp)دليلضوابط أمن التطبيقات: دليل مقترح بنطاقات وضوابط مرقمة، مربوط بضوابط NCA وOWASP ASVSمقترح مستقل من عرب رووت بتسعين ضابطاً مرقماً لأمن تطبيقات الويب وواجهات API وخط CI/CD، لكل ضابط متطلب ودليل للمدقق، مربوط بالبنود التي يدعمها في ECC-2:2024 وCSCC وبأرقام OWASP ASVS 5.0، مع ملف Excel للتقييم الذاتي.](https://arabroot.io/articles/%D8%B6%D9%88%D8%A7%D8%A8%D8%B7-%D8%A7%D9%85%D9%86-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%AF%D9%84%D9%8A%D9%84-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%85%D8%B9-%D8%B1%D8%A8%D8%B7-ecc-%D9%88-asvs/)[![](https://arabroot.io/content/images/2026/10/threat-modeling-cover-cover.webp)دليلنمذجة التهديدات Threat Modeling للمبتدئينكيف تسأل ما الذي قد يسوء في تصميم تطبيقك قبل أن تكتب الكود، وتقرر لكل تهديد هل تصلحه أو تقبله، مع قالب جاهز للنسخ.](https://arabroot.io/articles/%D9%86%D9%85%D8%B0%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D9%87%D8%AF%D9%8A%D8%AF%D8%A7%D8%AA-threat-modeling-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)[![](https://arabroot.io/content/images/2026/10/grc-terms-cover-cover.webp)دليلمصطلحات GRC للمبتدئين بمثال من شركة صغيرةما الذي يعنيه GRC فعلاً، وما الكلمات التي يستخدمها المدقق، وكيف تثبت له أن ضوابطك تعمل كما تقول.](https://arabroot.io/articles/%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-grc-%D8%A7%D9%84%D8%AD%D9%88%D9%83%D9%85%D8%A9-%D9%88%D8%A7%D9%84%D9%85%D8%AE%D8%A7%D8%B7%D8%B1-%D9%88%D8%A7%D9%84%D8%A7%D9%85%D8%AA%D8%AB%D8%A7%D9%84/)

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

- أكتوبر 2026: كتابة المقال، ومراجعة OWASP SAMM v2.2.0 من موقعه ومستودع owaspsamm/core وملفات YAML للنموذج، وتعبئة ملف SAMM\_spreadsheet.xlsx الرسمي بإجابات شركة تخيلية وحساب الدرجات بمعادلاته داخل Container من python:3.12-slim (Python 3.12.15 وopenpyxl 3.1.5 وLibreOffice 25.2.3)، ومراجعة صفحات BSIMM16 وOWASP DSOMM وCMMI.