Tekunda Team

Tekunda Team

انجح في مراجعة أمان AppExchange من أول مرة

انجح في مراجعة أمان AppExchange من أول مرة

الخلاصة: قائمة مراجعة الأمان في Salesforce هي مجموعة الضوابط التي يتحقق منها فريق Product Security في Salesforce قبل نشر أي managed package على AppExchange: تطبيق صلاحيات CRUD/FLS والمشاركة، وخلو الكود من ثغرات الحقن، وتشفير البيانات، وتوثيق مسارات البيانات، وتقارير فحص نظيفة. لتنجح من أول محاولة، شغّل الفحوصات المطلوبة، وأصلح كل مخالفة يمكن إصلاحها، ووثّق الباقي. في ما يلي القائمة العملية والأخطاء التي تؤدي إلى إعادة التقديم.

ما هي مراجعة الأمان في Salesforce؟

مراجعة الأمان هي تدقيق إلزامي تجريه Salesforce على كل managed package قبل السماح بإدراجه على AppExchange. وهي تجمع بين التحليل الساكن للكود، واختبارات التطبيق الديناميكية، ومراجعة يدوية يقوم بها فريق Product Security في Salesforce. رسوم التقديم 999 دولارًا للحلول المدفوعة (الإدراجات المجانية لا تدفع شيئًا)، وعادةً ما يستغرق الحل من 4 إلى 5 أسابيع لإتمام العملية. لا يلزم أن تكون الفحوصات نظيفة بنسبة 100%؛ أنت تشغّلها، وتصلح ما تقدر عليه، وتوضّح الباقي.

ماذا تتضمن قائمة مراجعة الأمان في Salesforce؟

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

  1. طبّق CRUD وFLS. كل استعلام وكل عملية DML يجب أن يحترم صلاحيات الكائن والحقل للمستخدم المنفّذ. استخدم WITH USER_MODE في SOQL و AccessLevel.USER_MODE في استدعاءات Database، إضافةً إلى Security.stripInaccessible() للبيانات التي تصفّيها بنفسك. أما سلاسل isAccessible()/isUpdateable() المكتوبة يدويًا فمن السهل أن تبقى ناقصة.
  2. احترم المشاركة. صرّح بـ with sharing على فئات Apex التي تتعامل مع السجلات، ولا توسّع الوصول أبدًا للالتفاف على قاعدة مشاركة.
  3. اقضِ على الحقن. استخدم متغيرات الربط لا دمج النصوص في SOQL وSOSL. وعالج أي مدخل ديناميكي.
  4. شفّر البيانات. AES-256 للبيانات الساكنة، وTLS 1.2 أو أعلى أثناء النقل.
  5. احمِ الأسرار. خزّن بيانات الاعتماد في Named Credentials أو custom metadata المحمية، ولا تكتبها ثابتة داخل Apex أو أي مكوّن.
  6. استخدم OAuth لكل اتصال بنظام خارجي بدلًا من تخزين أسماء المستخدمين وكلمات المرور الصريحة.
  7. حصّن الواجهة الأمامية. اضبط ترويسات الأمان، وعلّم الكوكيز بـ Secure وHttpOnly.
  8. شغّل الماسحات ووثّق النتائج الإيجابية الكاذبة. النتيجة الإيجابية الكاذبة بدون توضيح تُقرأ كثغرة لم تُعالَج.
  9. وثّق كل شيء. البنية المعمارية، ومخططات تدفق البيانات بين مؤسستك وأي موقع خارجي، ونداءات الـ API، وبيانات اعتماد اختبار تعمل فعلًا.

ما الماسحات التي تطلب Salesforce تشغيلها؟

بالنسبة إلى 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 القديم فقد تم إيقافه.) وتذكّر: المطلوب هو أنك شغّلت الفحوصات وأصلحت ما استطعت، لا أن تنجح كل قاعدة.

لماذا تفشل التطبيقات في مراجعة الأمان؟

معظم حالات الفشل من المحاولة الأولى تدور حول قائمة قصيرة من المشكلات:

  • غياب فحوصات CRUD أو FLS على كائن أو حقل واحد.
  • كود Apex يعمل بـ without sharing حيث لا ينبغي.
  • حقن SOQL عبر استعلامات ديناميكية.
  • بيانات حساسة تُخزَّن أو تُسجَّل بنص واضح.
  • نتائج إيجابية كاذبة غير موثّقة في تقارير الفحص.

لا شيء من هذا غريب أو نادر. تمر هذه الأخطاء لأنها اكتُشفت متأخرًا، بعد كتابة الكود، بدلًا من فرضها مع تطور الحزمة.

كيف تسرّع جودة ما تقدّمه المراجعة؟

يراجع طلبك إنسان، وجودة ما تسلّمه له تحدد سرعة الاجتياز. تسليم كل شيء مقدّمًا - مخططات تدفق بيانات كاملة، وسجل واضح للنتائج الإيجابية الكاذبة، وجهات اتصال سريعة الاستجابة، وبيانات اعتماد اختبار تعمل بالفعل - يزيل التنقل ذهابًا وإيابًا الذي يطيل المراجعة أسابيع إضافية. ونفس الحس الذي يصنع خدمة عملاء جيدة، أي توقّع السؤال التالي للطرف الآخر، هو بالضبط ما يختصر مراجعة الأمان.

الفرق التي تنجح بسلاسة تتعامل مع المراجعة كانضباط مستمر: تدمج فرض CRUD/FLS وتشغيل الماسحات في خط الإصدار لديها، فتظل الحزمة جاهزة للمراجعة في كل sprint، لا مجمّعة على عجل في الأسبوع السابق للتقديم. هذا هو نهج DevOps الذي نبنيه مع عملائنا في Tekunda.

FAQ

كم تكلفة مراجعة الأمان في Salesforce؟

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

كم تستغرق مراجعة الأمان؟

عادةً يستغرق الحل من 4 إلى 5 أسابيع لاجتياز المراجعة، وأطول إذا عاد للإصلاح.

هل يجب أن تنجح تقارير الفحص بنسبة 100%؟

لا. عليك تشغيل الفحوصات، وإصلاح كل مخالفة ممكنة، وإعادة تشغيلها، وتوثيق النتائج الإيجابية الكاذبة المتبقية.

هل مراجعة الأمان حدث لمرة واحدة؟

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

مقالات ذات صلة