الخلاصة
- أضافت مسودة YAML-LD 1.0 المنشورة عن W3C في 24 سبتمبر 2026 تحذيراً محدداً من تضخم البنية الداخلية بسبب الأسماء المستعارة، ومن تنفيذ غير متوقع للشيفرة عبر بعض وسوم YAML في بعض المحلّلات.
- فقرة الأمان غير معيارية. ناقش RFC 9512 هذه الأخطار منذ 2024؛ الجديد هو أن مسودة YAML-LD صارت تسميها بوضوح أكبر مما فعلت نسخة 20 سبتمبر.
- قابلية تمثيل الملف بصيغة JSON-LD لا تثبت أن المكتبة التي تقرأه تفرض حدوداً للموارد أو تمنع مُنشئات الوسوم الخطرة.
حين تستقبل مؤسسة ملف YAML-LD من طرف خارجي، قد يراجع المسؤولون مفردات البيانات ويطمئنون إلى أن الملف قصير وواضح. لكن مرحلة لم يروها بعد تفصل النص عن البيانات التي ستصل إلى التطبيق: المحلّل يفكّ الأسماء المستعارة ويبني تمثيلاً داخلياً. يمكن لتعريف واحد يعاد استخدامه مراراً أن ينتج نسخاً كثيرة في الذاكرة. القراءة البشرية للملف لا تقيس تكلفة تلك العملية.
سلطت نسخة 24 سبتمبر التي نشرها فريق عمل JSON-LD الضوء على هذه المرحلة. ففي القسم السادس غير المعياري، أضافت إحالة صريحة إلى RFC 9512 وذكرت أن رسم YAML صغيراً، حتى من دون دورة مرجعية، قد يتوسع إلى شجرة JSON-LD أكبر بكثير. وذكرت أن بعض الوسوم قد تؤدي إلى تنفيذ شيفرة غير متوقع في محلّلات معينة، وضربت !!python/object مثلاً. أما نص 20 سبتمبر فاكتفى بإحالة عامة إلى اعتبارات أمان JSON-LD واللاحقة +yaml.
ليست هذه واقعة اختراق معلنة أو اكتشافاً أول للخطر. نشر IETF وثيقة RFC 9512 المعلوماتية في فبراير 2024 لتسجيل نوع الوسائط application/yaml واللاحقة +yaml، وتناولت بالفعل استنفاد الموارد والتنفيذ الاعتباطي للشيفرة. لا تقدم الوثائق المدروسة نتائج اختبار منتج بعينه أو معدل انتشار للهجمات. كما أن نشر مسودة عمل لا يجعلها توصية نهائية، ولا يعني تبني W3C أو أعضائه لأي تنفيذ.
الغرض الأساسي من YAML-LD هو نقل البيانات المترابطة المكتوبة بأسلوب YAML إلى تمثيل JSON-LD من دون فقدان معناها. تسمح المسودة بالمراسي والأسماء المستعارة في التسلسل، لكنها تمنع الدورات في رسم التمثيل. وعند إنشاء البنية الداخلية، يعامل كل مرجع مستعار بوصفه نسخة من العقدة المشار إليها؛ ولا تحفظ أسماء المراسي أو هيئة الإحالات كمعلومات دلالية. لذلك فإن رفض الدورات شرط مفيد، لكنه لا يضمن أن الرسم الخالي منها لن يتضخم.
توجد متطلبات معيارية أخرى: ترميز UTF-8، ومعالجة متوافقة مع YAML 1.2 أو إصدار لاحق، ومفاتيح خرائط نصية، واجتياز مجموعات الاختبار المحددة. وتشير المسودة إلى أن بعض مكتبات YAML 1.1 القديمة تفسر كلمات مثل no وon قيماً منطقية، بما يضر بالتوافق. تحدد هذه الشروط شكل النتيجة الصحيحة، لكنها لا تضبط تلقائياً سقف الذاكرة ولا تسمح أو تمنع مُنشئ وسم في مكتبة مثبتة.
القرار الذي يحتاج إلى مالك واضح هو قرار قبول الإدخال الخارجي. يمكن للمشغّل أن يسجل إصدار المحلّل ووضعه، والوسوم المسموحة، وحدود توسع الإحالات، ومستوى الثقة بالملفات الواردة، وحالات الاختبار. هذا اقتراح تشغيلي من Daniel Kade وليس نموذجاً أوجبه W3C. نجاح التحويل يجيب عن سؤال المعنى؛ ولا ينبغي استخدامه جواباً جاهزاً عن سلامة طريقة التحويل.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات

