الاستنتاجات وشروط القرار

  • لا تقدّم مجرد ملف تثبيت يحمل الاسم نفسه؛ بل يجب تسجيل مصدره، وإصداره، وبصمة الملف، وخطة التوقيع، وقنوات التوزيع المقصودة.
  • لا تطلب ببساطة "أقصى قوة"؛ بل حدّد أي منطق تسبّب عكسه هندسيًا أو تعديله في خسائر تجارية محددة.
  • يجب أن يغطي مكدس التقنية اللغات، وأنظمة البناء، وإصدارات نظام التشغيل الدنيا، وواجهات ثنائية التطبيق (ABIs)، والمكوّنات الأصلية (Native)، والتحميل الديناميكي، وأطر العمل متعددة المنصات، ومجمعات تطوير البرمجيات (SDKs) الخارجية.
  • عرّف شروط النجاح، والفشل، والنطاق غير المغطّى، والإيقاف، والرجوع قبل بدء إثبات المفهوم (PoC) لتجنب الخلط بين الإطلاق الناجح وجاهزية الإصدار.

قدّم أولاً نسخة مرشح للإطلاق قابلة للتحديد بشكل فريد

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

الملفات التي تحمل الاسم نفسه لا تمثّل القطعة الأثرية نفسها. فإن إعادة البناء، أو إعادة التوقيع، أو تعديل موارد القناة، أو استبدال التبعيات يولّد هوية جديدة. ولكل تغيير، حدّد عمليات التحقق التي يجب إعادة تشغيلها؛ ولا تطبق استنتاجات النجاح من نسخ المرشحين القديمة مباشرة على الملفات الجديدة.

عند التعامل مع كود ملكي أو بيانات مستخدمين، قدّمها عبر سير عمل المشروع المتحكم به على منصة Yudun المركزية. توفر مواقع المواضيع العامة فقط الأساليب ونقاط الدخول؛ ولا تقبل الحسابات، أو ملفات التثبيت، أو الشهادات، أو أسرار المشروع.

الحقول الدنيا لتقديم نسخة المرشح للإطلاق
الحقلمحتوى مثالالغرضالثغرات الشائعة
هوية التطبيقاسم الحزمة أو معرف الحزمة (Bundle ID)، والإصداريربط نطاق الإصدار، والترقية، والاختبارتقديم اسم المتجر فقط
هوية الملفتجزئة SHA-256 ووقت الإنشاءيضمن أن جميع الأدلة تشير إلى الملف نفسهاستبدال الملفات القديمة بأخرى تحمل الاسم نفسه
مصدر البناءالفرع، أو الالتزام (Commit)، أو وظيفة التكامل المستمر (CI Job)، أو سجل الإصدارتتبع المشكلات وإعادة البناءعدم القدرة على تحديد المصدر
خطة التوقيعالحالة الحالية، والشهادة النهائية، وخطوات التوقيعيتحقق من هوية الترقية والإصدارإعادة التوقيع التعسفية بعد إثبات المفهوم (PoC)
نطاق التوزيعالمتجر، أو قنوات المؤسسة، أو القنوات الخاصةيحدد إشارات النزاهة وفحوصات التسليمافتراض تطابق جميع القنوات

تحديد الخسارة التجارية للكود الذي يتطلب الحماية

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

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

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

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

تحديد جرد حزمة التقنيات لحدود اختبار التوافق

يجب أن تحدد مشاريع Android إصدارات Java وKotlin وNDK وGradle وإضافة Gradle لـAndroid، وminSdk، وtargetSdk، ومعالجات التعليمات (ABIs) المُصدَرة، واستخدام الانعكاس، والتسلسل، وتحميل الفئات الديناميكي، والإصلاحات السريعة، وهيكلة الإضافات، وWebView، والمكونات الأصلية، وهياكل العمليات المتعددة. أما مشاريع iOS فيجب أن تحدد إصدارات Swift وObjective-C، وأقل إصدار لنظام التشغيل، والملحقات، والمكتبات الديناميكية، وخصائص وقت التشغيل، وقدرات التوقيع.

بالنسبة لأطر العمل متعددة المنصات مثل Flutter أو React Native أو Unity أو Cocos أو غيرها، سجّل إصدار الإطار، وطريقة الجسر، والمحرك، ومكتبات الأعمال الأصلية. لا تكتفِ بذكر "متعدد المنصات"، لأن بنية القطع الأثرية، وسلوك بدء التشغيل، وتكاملات الطرف الثالث تختلف اختلافًا كبيرًا بين الإصدارات.

قد تعتمد خدمات تسجيل الدخول والدفع والإشعارات الفورية والخرائط والصوت/الفيديو والتحليلات والتحكم في المخاطر والإصلاحات السريعة وخدمات البائعين الأخرى على الانعكاس، أو التوقيعات، أو إدخالات ملف Manifest، أو مخططات URL، أو واجهة JNI، أو الموارد، أو فحوصات النزاهة الخاصة بها. إن سرد هذه العناصر بالكامل أثناء التقييم الأولي يوفر وقتًا أطول من تخمينها واحدة تلو الأخرى بعد حدوث الأعطال.

  • اللغات، وأنظمة البناء، وإصدارات الإضافات الرئيسية
  • أقل إصدار لنظام التشغيل والإصدار المستهدف، والأجهزة، ومعالجات التعليمات (ABIs)
  • المكونات الأصلية، وواجهة JNI، والتحميل الديناميكي، وأطر العمل متعددة المنصات
  • العمليات المتعددة، وWebView، والإصلاحات السريعة، وهيكلة الإضافات
  • مجموعات تطوير البرمجيات (SDKs) الحرجة: تسجيل الدخول، الدفع، الإشعارات الفورية، الصوت/الفيديو، إلخ.

توضيح التوقيع والقنوات وخطط الترقية قبل إثبات المفهوم (PoC)

حدد التوقيع الذي تستخدمه قطعة عمل إثبات المفهوم، ومن يوقع الإصدار الرسمي، وما إذا كانت موارد القناة تُعالَج قبل التوقيع أم بعده، وما إذا كان يُستخدم توقيع تطبيقات Play، وأي طريقة توزيع تُستخدم لنظام iOS. تؤثر هذه العوامل على التثبيت، والترقيات، وإشارات النزاهة، وهوية الملف النهائية.

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

يجب أن تتبع معالجة القنوات ترتيبًا ثابتًا. إن تعديل جسم الحزمة بعد التوقيع النهائي يكسر التوقيع؛ وإن إعادة البناء أو إعادة التوقيع بعد القبول تولّد مرشح إصدار جديد. يجب أيضًا أن تتحقق إصدارات الرجوع من التوقيعات، وأرقام الإصدارات، وترحيل البيانات، وترقيات الكتابة فوق البيانات مسبقًا.

أسئلة يجب تأكيدها بخصوص سلسلة الإصدار
السؤالسبب الأهميةحالة مقبولة لإثبات المفهوممتطلب القبول الرسمي
من ينفذ التوقيع النهائي؟يحدد مسؤولية المفتاح وهوية القطعة الأثريةتوقيع مؤقت مع قيود واضحةمتسق مع العملية الرسمية وقابل للتدقيق
متى يُعدَّل جسم الحزمة من أجل القنوات؟التعديل يغيّر الملف والمحتوى الموقّعيمكن وصف الترتيبيُستكمل قبل التوقيع مع هوية مُثبّتة مجددًا
كيف نغطي الإصدارات المنشورة؟يتحقّق من صحة التوقيع واستمرارية الإصداريمكن تخطيه مع وضع علامة "غير مغطّى"ترقية من إصدار حقيقي منشور
كيفية التراجع؟يجب أن يكون قابلاً للتنفيذ أثناء الحوادثإعداد مرشّح خط الأساسحزمة التراجع مُتحقَّق منها مسبقًا ومعيَّن لها مالك

تحديد شروط النجاح والفشل والإيقاف لاختبار المفهوم مسبقًا

اختبار المفهوم ليس مجرد توليد حزمة محمية قابلة للتثبيت. حدّد مسبقًا نطاق الحماية للمراقبة، وسطح التعرض الثابت، وسلوك بدء التشغيل، وتدفقات الأعمال الحرجة، وميزانية الأداء، والأنظمة المستهدفة، وواجهات ثنائية التطبيق (ABIs)، ومجموعات تطوير البرمجيات التابعة لجهات خارجية، وعمليات التثبيت/الترقية، ومسارات الاستثناء البديلة. قد تختلف أوزان كل مشروع، لكن لا يجوز غياب أي تعريف منها.

يجب أن تكون شروط النجاح قابلة للقياس، مثل مدخلات/مخرجات مفتاحية متسقة، واجتياز كل نظام مستهدف على حدة، وتغييرات التشغيل الأولي ضمن ميزانية المشروع، ومسارات استثناء آمنة، وتكوينات حماية قابلة للتتبع. تشمل شروط الفشل حظر التشغيل الأولي، وأخطاء أعمال حرجة، وتغييرات أداء غير مقبولة، وفشل التوافق ضمن نطاق الهدف، أو مشكلات غير قابلة للنسب.

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

كيفية تصنيف نتائج اختبار المفهوم
الحالةالمعنىمتطلب الإبلاغقابل للنشر؟
مُتحقَّق منهتم الحصول على أدلة لنفس المرشّح ضمن النطاق المتفق عليهحدّد الطريقة والبيئة والنتائج والحدودالحكم صالح فقط لذلك النطاق
فشلحدث حظر قابل لإعادة الإنتاج أو عدم امتثال لميزانية الأداءاحتفظ بأ earliest الفروقات والأثر الناتجلا يمكن النشر باستخدام التكوين الأصلي
لم يُنفَّذنقص في الأجهزة أو الحسابات أو البيانات أو التفويضاذكر السبب والخطوات التاليةلا يمكن الاستعاضة عنه بنتائج أخرى
غير منطبقيستبعد المشروع صراحةً هذه المنصة أو القدرةقدّم الأساس الذي بُني عليه التحديدمستبعَد من النطاق الحالي
مثال عام لبيانات تطبيق اختبار المفهوم
project_stage: release-candidate
artifacts:
  baseline: identified
  protected_candidate: pending
assets:
  - entitlement-decision
  - protocol-core
stack:
  platform: Android
  min_os: project-defined
  abis: [arm64-v8a]
critical_journeys:
  - cold-launch
  - sign-in
  - protected-operation
acceptance:
  functional_parity: required
  performance_budget: project-defined
  compatibility_matrix: required
  rollback_rehearsal: required
boundaries:
  - no_unverified_attack_resistance_claim
  - uncovered_devices_remain_open

المخرجات المُشكَّلة بعد تقييم Yudun واكتمال تقديم البيانات

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

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

تُوحَّد عمليات تسجيل الدخول والتسجيل والتطبيقات والتسعير وبيانات المشاريع ضمن منصة Yudun المركزية. لن تنشئ مواقع الموضوعات مجموعة ثانية من الحسابات أو أنظمة التطبيقات. نظّم المواد وفق قائمة التحقق هذه قبل التقديم لتجنب الحاجة المتكررة لاستكمال هويات المرشّحين ونطاقات الإصدار بعد بدء المشروع.

  • مرشّح إصدار قابل للتتبع، وخط أساس، وسلسلة إصدار
  • وصف واضح للأصول المحمية والخسائر التجارية
  • مكدس تقنية كامل، واعتماديات تابعة لجهات خارجية، ومصفوفة أهداف
  • شروط محددة للنجاح والفشل والنطاق غير المغطّى والتراجع
  • قدّم البيانات الحساسة فقط عبر المنصة المركزية

حدود الأدلة وقابلية التطبيق

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

حكم المادةالحقيقة أو الأساس الهندسيحد قابلية التطبيق
هوية مرشّح الإصدار هي المفتاح الأساسي المشترك لأدلة التقييم.إعادة البناء والتوقيع وتعديلات القنوات وتغييرات الاعتماديات تُغيّر الملف النهائي والسلوك الزمني المحتمل.يُعرِّف SHA-256 الملف لكنه لا يعني أن الملف آمن.
يجب اشتقاق أهداف حماية VMP من الخسارة التجارية ونمذجة التهديدات.تعامل معايير OWASP MASVS مكافحة الهندسة العكسية ومكافحة العبث كدفاع عميق ضد تهديدات محددة، وليس كبديل لمنطق الخادم أو البنية العامة.لا تثبت المعايير أن مرشحًا أو تكوينًا محددًا قد اجتاز الاختبارات بنجاح.
يجب أن تكون خطط التوقيع والترقية مغلقة الحلقة في مرحلة القبول الرسمي.يستخدم أندرويد هوية توقيع التطبيق لتأكيد استمرارية التحديث، بينما تتطلب منصات أبل أيضًا أن يتبع الكود القابل للتنفيذ سلسلة توقيع الكود.يجب التحقق من طرق التوزيع المختلفة واستراتيجيات تدوير الشهادات لكل مشروع على حدة.
إن القدرة على التثبيت والتشغيل لا تشكل استنتاجًا كاملًا لإثبات المفهوم (PoC).تشمل عملية الإصدار أيضًا سير العمل التجاري الحرج، والأداء، والأنظمة، وواجهات ثنائية للتطبيق (ABIs)، وأطرافًا ثالثة، والترقيات، والمراقبة، وآليات التراجع.قد تقلل المشاريع من نطاق المصفوفة بناءً على نطاق المستخدمين الفعلي، ولكن يجب التصريح صراحةً بالعناصر غير المغطاة.
لا تقبل مواقع الموضوعات بيانات المشاريع الحساسة.تتعامل منصة Yudun المركزية بشكل موحد مع الحسابات والتطبيقات وبيانات المشاريع؛ بينما توفر مواقع المحتوى فقط الطرق العامة وعمليات إعادة التوجيه.تخضع أذونات البيانات المحددة وقواعد الاحتفاظ بها لمنصة المركز واتفاقيات المشروع.

أسئلة هندسية

هل يمكنني التقدم بطلب تقييم باستخدام ملف APK فقط دون الكود المصدري؟

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

هل يجب توفير التوقيع الرسمي أثناء التواصل الأولي؟

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

لماذا يجب سرد جميع مجموعات تطوير البرمجيات (SDKs) التابعة لأطراف ثالثة؟

قد تعتمد مجموعات التطوير التابعة لأطراف ثالثة على الانعكاس، أو التوقيعات، أو الموارد، أو واجهة JNI، أو ترتيب التهيئة، أو فحوصات النزاهة الخاصة بها، مما يجعلها مصدرًا كبيرًا لمشكلات التوافق.

هل يمكنني طلب أقصى قوة حماية مباشرة؟

يمكنك بيان تفضيلات المخاطر، لكن النطاق النهائي يجب أن يظل مُطبَّقًا طبقيًا بناءً على قيمة الأعمال، وتكرار التنفيذ، ونطاق التأثير (blast radius)، وقدرات اختبار التراجع؛ وإلا يصعب الوصول إلى استنتاج إصدار مستقر.

هل يمكن رفع البيانات المدرجة في هذه المقالة مباشرة عبر موقع الموضوعات؟

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

هل تريد اختبار ذلك على تطبيقك الخاص؟

أرسل الإصدار المرشح والأنظمة المستهدفة ومسارات الأعمال المهمة لتقييم Yudun PoC والتوافق.

تواصل مع: قائمة مراجعة إعداد Yudun VMP