
Tekunda Team

Tekunda Team

الخلاصة: قائمة مراجعة الأمان في Salesforce هي مجموعة الضوابط التي يتحقق منها فريق Product Security في Salesforce قبل نشر أي managed package على AppExchange: تطبيق صلاحيات CRUD/FLS والمشاركة، وخلو الكود من ثغرات الحقن، وتشفير البيانات، وتوثيق مسارات البيانات، وتقارير فحص نظيفة. لتنجح من أول محاولة، شغّل الفحوصات المطلوبة، وأصلح كل مخالفة يمكن إصلاحها، ووثّق الباقي. في ما يلي القائمة العملية والأخطاء التي تؤدي إلى إعادة التقديم.
مراجعة الأمان هي تدقيق إلزامي تجريه Salesforce على كل managed package قبل السماح بإدراجه على AppExchange. وهي تجمع بين التحليل الساكن للكود، واختبارات التطبيق الديناميكية، ومراجعة يدوية يقوم بها فريق Product Security في Salesforce. رسوم التقديم 999 دولارًا للحلول المدفوعة (الإدراجات المجانية لا تدفع شيئًا)، وعادةً ما يستغرق الحل من 4 إلى 5 أسابيع لإتمام العملية. لا يلزم أن تكون الفحوصات نظيفة بنسبة 100%؛ أنت تشغّلها، وتصلح ما تقدر عليه، وتوضّح الباقي.
كل بند في الأسفل يقابل شيئًا سيحاول المراجع كسره فعليًا. تعامل معها كبوابة قبل التقديم، لا كقائمة أمنيات.
WITH USER_MODE في SOQL و
AccessLevel.USER_MODE في استدعاءات Database، إضافةً إلى
Security.stripInaccessible() للبيانات التي تصفّيها بنفسك. أما سلاسل
isAccessible()/isUpdateable() المكتوبة يدويًا فمن السهل أن
تبقى ناقصة.
with sharing على فئات Apex
التي تتعامل مع السجلات، ولا توسّع الوصول أبدًا للالتفاف على قاعدة مشاركة.
Secure وHttpOnly.
بالنسبة إلى managed package، يجب أن ترفع تقارير Salesforce Code Analyzer. أنشئها باستخدام مجموعة قواعد AppExchange:
sf code-analyzer run --rule-selector AppExchange --rule-selector
Recommended:Security --output-file CodeAnalyzerReport.html
كما تجري Salesforce تحليلًا ساكنًا بأداة Checkmarx واختبارات ديناميكية بأدوات مثل OWASP ZAP أو Burp Suite. (أما ماسح Chimera القديم فقد تم إيقافه.) وتذكّر: المطلوب هو أنك شغّلت الفحوصات وأصلحت ما استطعت، لا أن تنجح كل قاعدة.
معظم حالات الفشل من المحاولة الأولى تدور حول قائمة قصيرة من المشكلات:
without sharing حيث لا ينبغي.لا شيء من هذا غريب أو نادر. تمر هذه الأخطاء لأنها اكتُشفت متأخرًا، بعد كتابة الكود، بدلًا من فرضها مع تطور الحزمة.
يراجع طلبك إنسان، وجودة ما تسلّمه له تحدد سرعة الاجتياز. تسليم كل شيء مقدّمًا - مخططات تدفق بيانات كاملة، وسجل واضح للنتائج الإيجابية الكاذبة، وجهات اتصال سريعة الاستجابة، وبيانات اعتماد اختبار تعمل بالفعل - يزيل التنقل ذهابًا وإيابًا الذي يطيل المراجعة أسابيع إضافية. ونفس الحس الذي يصنع خدمة عملاء جيدة، أي توقّع السؤال التالي للطرف الآخر، هو بالضبط ما يختصر مراجعة الأمان.
الفرق التي تنجح بسلاسة تتعامل مع المراجعة كانضباط مستمر: تدمج فرض CRUD/FLS وتشغيل الماسحات في خط الإصدار لديها، فتظل الحزمة جاهزة للمراجعة في كل sprint، لا مجمّعة على عجل في الأسبوع السابق للتقديم. هذا هو نهج DevOps الذي نبنيه مع عملائنا في Tekunda.
كم تكلفة مراجعة الأمان في Salesforce؟
رسوم التقديم 999 دولارًا لكل محاولة للحلول المدفوعة، بما في ذلك كل إعادة تقديم بعد الفشل. أما الإدراجات المجانية فلا تُفرض عليها الرسوم.
كم تستغرق مراجعة الأمان؟
عادةً يستغرق الحل من 4 إلى 5 أسابيع لاجتياز المراجعة، وأطول إذا عاد للإصلاح.
هل يجب أن تنجح تقارير الفحص بنسبة 100%؟
لا. عليك تشغيل الفحوصات، وإصلاح كل مخالفة ممكنة، وإعادة تشغيلها، وتوثيق النتائج الإيجابية الكاذبة المتبقية.
هل مراجعة الأمان حدث لمرة واحدة؟
لا. تطلب Salesforce إعادة المراجعة دوريًا، وكل ميزة جديدة تطلقها يجب أن تفي بالمعيار نفسه، لذا فالقائمة معيار مستمر.