فرض سياسات المؤسسة بشكل أكثر صرامة على chrome.debugger في الإصدار 155 من Chrome

تاريخ النشر: 8 سبتمبر 2026، تاريخ آخر تعديل: 4 نوفمبر 2026

بدءًا من الإصدار 155 من Chrome، سيعدّل Chrome طريقة تطبيق قيود سياسات المؤسسة على الإضافات التي تستخدم واجهة برمجة التطبيقات chrome.debugger.

يؤثر هذا التغيير فقط في الإضافات التي تعمل على المتصفّحات المُدارة التي ضبط فيها المشرف صراحةً قواعد runtime_blocked_hosts أو DisableScreenshots أو قواعد "منع فقدان البيانات" (DLP).

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

المخطط الزمني والطرح

  • الإصدار التجريبي من Chrome 155: في 16 سبتمبر 2026
  • طرح الإصدار الثابت من Chrome 155: في 6 أكتوبر 2026
  • تاريخ الإلغاء: 3 نوفمبر 2026

التغييرات الرئيسية في الإصدار 155 من Chrome

لا تؤثر التغييرات التالية إلا في المتصفّحات المُدارة للمؤسسات:

  • قيود المضيف: إذا كانت سياسة المؤسسة (ExtensionSettings) تضبط قائمة مضيفين محظورين غير فارغة (runtime_blocked_hosts) لإضافة معيّنة، يتم رفض chrome.debugger.attach() على جميع الأهداف التي تتضمّن:

    "Host access is restricted by policy."

    وينطبق ذلك حتى في حال تضمين مصادر معيّنة في runtime_allowed_hosts.

  • قيود لقطات الشاشة و"منع فقدان البيانات": إذا تم إيقاف التقاط لقطات الشاشة من خلال سياسة مؤسسة (DisableScreenshots أو قواعد "منع فقدان البيانات")، يتعذّر تنفيذ chrome.debugger.attach() مع ظهور رسالة الخطأ:

    "Screenshot capture is restricted by policy."

وسيظل بإمكان الملفات الشخصية والبيئات غير المُدارة الوصول إلى chrome.debugger بدون قيود كما في السابق.

تمنح واجهة برمجة التطبيقات chrome.debugger إمكانية الوصول المباشر إلى "بروتوكول أدوات مطوّري البرامج في Chrome"‏ (CDP) للاستفادة من ميزات فعّالة، بما في ذلك تقييم النصوص البرمجية العشوائية واعتراض الشبكة. بما أنّ بروتوكول CDP يعمل تحت نموذج المصدر الخاص بمنصة الويب، لا يمكن للفلترة المستندة إلى المصدر تقييده بأمان، لذا يحلّ Chrome 155 هذه المشكلة من خلال نموذج الكل أو لا شيء، ما يؤدي إلى التحقّق من صحة سياسات المؤسسة مسبقًا في كل طلب chrome.debugger.attach().

التعامل مع حالات رفض الإرفاق بسلاسة

يجب دائمًا معالجة حالات رفض الإرفاق في رمز الإضافة لتقديم ملاحظات واضحة لمستخدمي الإصدار الخاص بالمؤسسات:

// Promise-based (Manifest V3)
try {
  await chrome.debugger.attach({ tabId }, "1.3");
} catch (error) {
  if (error.message.includes("Host access is restricted by policy")) {
    console.warn("Debugger attach blocked: Extension has host restrictions configured by enterprise policy.");
  } else if (error.message.includes("Screenshot capture is restricted by policy")) {
    console.warn("Debugger attach blocked: Screenshots or DLP restrictions are enforced by enterprise policy.");
  } else {
    console.warn("Debugger attach failed:", error.message);
  }
}

// Callback-based
chrome.debugger.attach({ tabId }, "1.3", () => {
  if (chrome.runtime.lastError) {
    console.warn("Debugger attach failed:", chrome.runtime.lastError.message);
  }
});

ننصحك باستخدام واجهات برمجة تطبيقات بديلة عالية المستوى

إذا لم تكن الإضافة تتطلّب الوصول المباشر إلى بروتوكول CDP، يمكنك التفكير في الانتقال إلى واجهات برمجة تطبيقات للإضافات ذات مستوى أعلى تتيح أذونات المضيف الدقيقة وتعمل جنبًا إلى جنب مع القوائم المسموح بها والقوائم المحظورة للمضيفين في المؤسسة:

  • استخدِم واجهة برمجة التطبيقات chrome.scripting لتنفيذ النصوص البرمجية وإدراج الأنماط في الصفحات المسموح بها.
  • استخدِم واجهة برمجة التطبيقات chrome.declarativeNetRequest لفحص طلبات الشبكة أو تعديلها أو حظرها بشكل تعريفي.
  • استخدِم واجهة برمجة التطبيقات chrome.cookies مع أذونات المضيف العادية.

إرشادات لمشرفي المؤسسات

تعديل (4 نوفمبر 2026): تم التراجع عن تنفيذ سياسة Chrome 155 من خلال تحديث الإعدادات من جهة الخادم، والذي ينزّله Chrome تلقائيًا ويطبّقه بعد إعادة التشغيل. لإيقاف إجراء التنفيذ بدون انتظار هذا التحديث، يمكنك تشغيل Chrome باستخدام علامة سطر الأوامر --disable-features=ExtensionDebuggerStrictPolicyRestrictions.

وحتى يتم تطبيق عملية التراجع، ستظل الإرشادات التالية سارية.

على مشرفي المؤسسات الذين يديرون سياسات الإضافات ملاحظة أنّ الإضافات التي تتطلّب إذن مصحّح الأخطاء لا يمكنها العمل مع قيود المضيف الجزئية (runtime_blocked_hosts). إذا كانت الإضافة بحاجة إلى chrome.debugger، يجب ألا تحتوي على مضيفين محظورين تم ضبطهم في ExtensionSettings.

في حال إيقاف ميزة التقاط لقطات الشاشة باستخدام DisableScreenshots أو قواعد "منع فقدان البيانات" (DLP)، سيتعذّر تنفيذ chrome.debugger.attach().

على المؤسسات التي تتطلّب قوائم حظر المضيفين أو قيود لقطات الشاشة التحقّق مما إذا كان بإمكان إضافاتها الداخلية أو الموافَق عليها الانتقال إلى واجهات برمجة تطبيقات ذات مستوى أعلى، مثل chrome.scripting أو chrome.declarativeNetRequest.

مشاركة الملاحظات

لمزيد من التفاصيل، يُرجى الرجوع إلى مستندات واجهة برمجة التطبيقات chrome.debugger. إذا كانت لديك أسئلة أو ملاحظات، يُرجى التواصل معنا من خلال مجموعة Google الخاصة بإضافات Chromium.