
Tekunda Team

Tekunda Team

باختصار: النتيجة الإيجابية الخاطئة هي ملاحظة يرفعها الفاحص على كود مش قابل للاستغلال فعليًا. Salesforce مش عايزاك تسكّتها، هي عايزة تبرير مكتوب لكل واحدة: اسم الفاحص والقاعدة، والملف والسطر بالضبط، ومسار البيانات، والضابط اللي بيحمي الكود أصلًا. التبريرات المبهمة في سطر واحد هي السبب الأكثر شيوعًا لرجوع مستند النتائج الإيجابية الخاطئة ومعاه أسئلة.
كل طلب مراجعة أمنية على AppExchange بيتضمن تقارير فحص، ومفيش كود حقيقي بيطلع نظيف تمامًا من الفحص. بعض الملاحظات مشكلات حقيقية بتصلحها. وبعضها بيشير لكود آمن بالفعل، وده اللي بتوثّقه. الدليل ده عن المجموعة التانية: إزاي تكتب تبريرات للنتائج الإيجابية الخاطئة يقبلها فريق المراجعة الأمنية في Salesforce، والأخطاء اللي بتخليها ترفض. أما الملاحظات اللي المفروض تصلحها فعلًا، وترتيب إصلاحها، فشوف قائمة مراجعة أمان سيلزفورس: إيه اللي تصلّحه، وبأي ترتيب.
النتيجة الإيجابية الخاطئة هي ملاحظة غلط تقنيًا بالنسبة لكودك، مش ملاحظة نفسك متتعاملش معاها. الفاحص بيرفع نمط معين؛ وكون النمط ده قابل للاستغلال أو لأ بيعتمد على سياق مش دايمًا الفاحص بيشوفه. لو الكود محمي فعلًا، فعندك نتيجة إيجابية خاطئة توثّقها. ولو مش متأكد إنه محمي، عاملها كملاحظة حقيقية وصلّحها، لأن التخمين هنا هو بالظبط اللي بيحوّل المستند لرفض.
الفئات اللي بترجع بتكرار كفاية علشان تخطّط ليها هي:
WITH USER_MODE أو AccessLevel.USER_MODE.
قبل ما تكتب أي تبرير، اعرف أي ملاحظات لازم تتعامل معاها أصلًا. العتبة مش صفر ملاحظات، وهي بتختلف حسب الأداة:
أي حاجة فوق حد الضوضاء يا بتتصلح يا بتتوثّق. مفيش خيار تالت إنك تتجاهلها بصمت.
Salesforce بتطلب مستند يشرح ليه كل عنصر مُعلَّم مش بيشكّل خطرًا أمنيًا، وبتقولك تكون محدد في إزاي بتحمي من الثغرة اللي أشار ليها الفاحص. إنك تكون على حق مش كفاية. المراجع بيقرأ المستند، فالمستند هو اللي لازم يثبت.
اِدّي كل عنصر مُعلَّم مدخَلًا خاصًا بيه بدل فقرة عامة واحدة. المدخَل القوي بيجاوب، بالترتيب:
اكتبه بحيث حد ما فتحش كودك أبدًا يقدر يتابع المسار من المدخل للضابط ويوافق إنه آمن. دي كل الحكاية.
الرفض اللي بنشوفه بيتجمّع في حفنة أخطاء ممكن تتفاداها:
Salesforce بتعيد تدقيق الحزم المدرجة دوريًا، ومعنى كده إنك هتكتب تبريرات للنتائج الإيجابية الخاطئة أكتر من مرة. لما ميتاداتا حزمتك تعيش في نظام التحكم بالمصدر، بتبقى كل permission set وsharing rule وnamed credential مُؤرّخة، فتقدر تشاور على الضابط بالضبط اللي بيسند التبرير وتبيّن إنه ما اتغيّرش. الفرق اللي بتتعامل مع الميتاداتا ككود بتعيد استخدام مستند السنة اللي فاتت بدل ما تبني السبب من الأول.
ولو بتفضّل شريك عدّى المراجعة قبل كده يكتب التبريرات دي معاك، فـ Tekunda بتبني وتحزّم منتجات AppExchange كـ Salesforce PDO.
أقدر أكتم الملاحظة بدل ما أوثّقها؟
لأ. أي حاجة فوق حد الضوضاء بتاع الفاحص يا بتتصلح يا بتتشرح في مستند النتائج الإيجابية الخاطئة. الملاحظة المكتومة من غير تبرير بتتقري كإنها متعالَجش.
كل مدخَل محتاج يبقى مفصّل قد إيه؟
مفصّل كفاية علشان المراجع يلاقي الكود ويأكّد الضابط من غير ما يسألك. عمليًا ده اسم الفاحص والقاعدة، الملف والسطر، مسار البيانات، والضابط بالظبط اللي بيحمي.
النتائج الإيجابية الخاطئة الديناميكية محتاجة دليل إضافي؟
أيوة. أرفق لقطة شاشة تثبت إن الـ endpoint الصح هو اللي اتفحص، وإلا الملاحظة بتتقري كإنها ما اتفحصتش بدل ما تبقى آمنة.