كشفت تقارير أمنية حديثة عن تحول مفاجئ لملكية إضافة متصفح كانت تحظى بشعبية، من أداة مفيدة إلى أداة تنفيذ رموز خبيثة، مما عرّض آلاف المستخدمين لخطر حقن سكربتات خفية وإزالة كاملة لرؤوس أمان المتصفح. تركز هذه الحادثة على إضافة QuickLens، وهي واجهة لعدسة جوجل، وتوضح كيف يمكن لإضافة موثوقة أن تتحول بين عشية وضحاها إلى تهديد بعد تحديث صامت.
كانت QuickLens إضافة عملية تسمح للمستخدمين بالبحث عن الصور باستخدام عدسة جوجل مباشرة من المتصفح، مع خواص إضافية مثل التقاط الشاشة واختيار المناطق، والبحث في إطارات يوتيوب، والبحث عن منتجات أمازون. وقد شغلت الإضافة قاعدة مستخدمين نشطين بلغت 7000 مستخدم وحصلت على شارة “ميزة” من جوجل، مما منحها مصداقية كبيرة.
استغلال الإضافات: خطر التهديدات الخفية
بدأت القصة عندما تم إدراج الإضافة للبيع على سوق ExtensionHub، وهو منصة لتداول الإضافات بما في ذلك قاعدة مستخدميها، وذلك بعد يومين فقط من نشرها لأول مرة في متجر كروم الإلكتروني. وقد تم اكتشاف هذا التهديد في مراحل متعددة، بدءًا من عرض البيع في أكتوبر 2025.
ومع ذلك، في الأول من فبراير 2026، انتقلت ملكية الإضافة إلى كيان غير موثق يعمل تحت اسم LLC Quick Lens، ويسجل نطاقه supportdoodlebuggle.top. هذه الهوية تبدو مصطنعة وتفتقر إلى أي تواجد موثوق به على الإنترنت. تم نقل سجل سياسة الخصوصية إلى نطاق آخر، kowqlak.lat.
وبتاريخ 17 فبراير، تم إصدار الإصدار 5.8 من الإضافة. وفي هذا التحديث، تم تضمين منصة قيادة وتحكم (C2) تعمل بكامل طاقتها وإرسالها بصمت إلى جميع المستخدمين البالغ عددهم 7000. هذا التحديث قدم ثلاث تغييرات رئيسية: خادم C2 جديد، وصلاحيات جديدة مثل declarativeNetRequestWithHostAccess و webRequest، وملف جديد باسم rules.json.
بالنسبة لمعظم المستخدمين، ظهر هذا كطلب تحديث صلاحيات قياسي، وهو ما اعتاد عليه الكثيرون دون تدقيق. ومع ذلك، كان لملف rules.json الأثر الفوري الأكثر ضررًا.
إزالة رؤوس أمان المتصفح: انكشاف أوسع
أمر ملف rules.json الإضافة بإزالة جميع رؤوس أمان المتصفح الهامة من كل استجابة HTTP، بما في ذلك Content-Security-Policy (CSP)، و X-Frame-Options، و X-XSS-Protection. هذا الإجراء ألغى الحماية عن كل صفحة تمت زيارتها، مما جعل المستخدمين عرضة لهجمات clickjacking، و cross-site scripting، وطلبات متعددة النطاقات غير مقيدة.
من جهة أخرى، تم تصميم آلية تنفيذ التعليمات البرمجية الخبيثة بطريقة مبتكرة. يقوم خادم C2 بتسليم التعليمات البرمجية JavaScript للإضافة كقائمة من النصوص، والتي يتم تخزينها في التخزين المحلي للمتصفح تحت تسمية cached-agents-data. عند زيارة أي صفحة، تقرأ الإضافة هذه الحمولة المخزنة وتنفذها من خلال صورة GIF شفافة بحجم 1×1، وهي تقنية يعرفها الباحثون باسم “خدعة البكسل”.
تقوم الإضافة بإنشاء عنصر صورة مخفي داخل صفحة الويب، مع تعيين المصدر الخاص به إلى URI بيانات base64 لصورة GIF شفافة بحجم 1×1. تقوم هذه الصورة بالتحميل فورًا دون إجراء أي طلب شبكة خارجي. ثم يتم إرفاق حمولة JavaScript من خادم C2 كسمة onload مضمنة في عنصر الصورة هذا. لحظة معالجة المتصفح للصورة، يتم تنفيذ البرنامج النصي في سياق الصفحة الكامل، مما يمنح المهاجم وصولاً مباشرًا إلى كل ما هو معروض على الشاشة.
تعتمد هذه التقنية على حقيقة أن سياسة أمان المحتوى (CSP) عادة ما تمنع مثل هذه المعالجات المضمنة على أي موقع تم تكوينه بشكل جيد. وبما أن الإصدار 5.8 قد قام بإزالة رؤوس CSP عالميًا، فإن الحمولة كانت تعمل بحرية عبر كل صفحة تمت زيارتها. يمكن للتعليمات البرمجية المحقونة قراءة رموز الجلسات، والتقاط مدخلات النماذج، وكشط محتوى الصفحة، وإرسال البيانات المسروقة إلى خوادم خارجية، كل ذلك بينما تستمر الإضافة في العمل بشكل طبيعي كأداة لعدسة جوجل، مما يترك المستخدمين بدون سبب للاشتباه في وجود خطأ.
وما يجعل هذا الهجوم صعب الكشف بشكل خاص هو أن الحمولة الخبيثة لا تظهر أبدًا داخل ملفات مصدر الإضافة. التحليل الثابت للكود لا يكشف عن أكثر من دالة تقوم بإنشاء عناصر الصور. تصل التعليمات البرمجية JavaScript من خادم C2 فقط في وقت التشغيل. حتى التسمية الداخلية – safelyProcessElement, cached-agents-data, extensionanalyticspro – مصممة للاندماج كنشاط متصفح روتيني.
يجب على المؤسسات فرض قائمة سماح صارمة لإضافات المتصفح ومراقبة أي تغييرات غير متوقعة في الأذونات، خاصة الأذونات الجديدة مثل declarativeNetRequest و webRequest. يجب على المستخدمين مراجعة الإضافات المثبتة بانتظام واعتبار طلبات تحديث الأذونات غير المرغوب فيها علامة تحذير. يجب مراجعة الإضافات التي تغير ملكيتها بعناية قبل استمرار استخدامها.
