ملاحظة: هذا التقرير مبني على تحقيق Fairlinked e.V. المنشور في مارس 2026، والتحقق المستقل من Bleeping Computer وTom’s Hardware، والدعاوى القضائية المرفوعة في المحاكم الأمريكية والأوروبية، إضافةً إلى تحليل مستقل للكود المصدري.


كنت فاتح لينكد إن بالصدفة بصيت على نافذة الـ Console في DevTools ولاقيت رسالة غير متوقعة زي اللي في الصورة ديه كدا:

chrome-extension://invalid extension

أستغربت ليه موقع توظيف مهني بيطلب موارد من داخل إضافات المتصفح بتاعتي؟ ومش طلب واحد طلبات كتير، بتصدر بشكل مستمر في الخلفية.

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

هذا التقرير هو توثيق تقني شامل لما اكتُشف.


في كل مرة بتفتح فيها لينكد إن على متصفح مبني على Chromium — سواء Chrome أو Edge أو Brave أو Opera أو Arc — بيتحمل في الخلفية ملف JavaScript بالمواصفات التالية:

الخاصيةالقيمة
الاسم الداخليchunk.905
إطار العملEmber.js
التسجيلglobalThis.webpackChunk_ember_auto_import_
الحجم~2.7 ميجابايت
عدد الأسطر13,159 سطر مضغوط
موقع القائمةالسطر 9571، الإزاحة الحرفية 443

جوّا هذا الملف، في السطر 9571 تحديداً، فيه مصفوفة مُضمَّنة بصورة ثابتة (hardcoded array) تحتوي على 6,222 إدخال. كل إدخال يتكوّن من:

  • معرّف إضافة Chrome مكوّن من 32 حرفاً (Extension ID).
  • مسار ملف داخلي محدد جوّا الإضافة مثل popup.html أو icon.png أو manifest.json

هذه ليست قائمة اتولّدت أوتوماتيكياً. كل مدخل تمت إضافته يدوياً. شخص أو فريق جالس بيراقب سوق الإضافات ويُحدّث القائمة بمعدل 12 إضافة يومياً في الفترة الأخيرة.


منظومة الفحص: ثلاث مراحل متكاملة

المنظومة اسمها الداخلي AED (Active Extension Detection)، وبتعمل على ثلاث مراحل، كل مرحلة بتكمل اللي فشلت فيه المرحلة السابقة.

المرحلة الأولى: التواصل المباشر عبر externally_connectable

المحاولة الأولى: التواصل مباشرة مع الإضافة:

chrome.runtime.sendMessage(extensionId, message, callback)

لو الإضافة عطّلت واجهة externally_connectable في ملف manifest.json الخاص بها، هذه المحاولة بتفشل والنظام بينتقل للمرحلة التانية.

المرحلة التانية: فحص الموارد عبر fetch()

إطلاق آلاف الطلبات في نفس اللحظة:

 Promise.allSettled(extensionList.map(({id, file}) =>     fetch(`chrome-extension://${id}/${file}`)   ) )

الإضافة موجودة = fulfilled

الإضافة غير موجودة = rejected

المرحلة دي بتفحص الـ 6,222 إضافة في وقت واحد عبر Promise.allSettled(). أي طلب يرجع بحالة fulfilled يثبت وجود الإضافة.

التفصيلة الأهم: وجود معامل اسمه staggerDetectionMs بيُبطئ الطلبات ويخلّيها تصدر بتأخير مقصود عشان تقل وضوحها في أدوات مراقبة الشبكة نافذة الـ Network في DevTools.

المرحلة التالتة: Spectroscopy — فحص الـ DOM

المسح الكامل ل DOM Tree:


function spectroscopy(node) {
  // فحص كل نص وكل خاصية في الصفحة
  if (node.textContent?.includes('chrome-extension://')) {
    extractExtensionId(node.textContent)
  }
  // تكرار بشكل متعاود على كل العناصر الفرعية
  node.childNodes.forEach(spectroscopy)
}

هذه المرحلة بتجتاز الـ DOM Tree بالكامل بحثاً عن أي نص أو خاصية تبدأ بـ chrome-extension://، وبتستخرج منها معرّف الإضافة المكوّن من 32 حرفاً. ده بيكشف أي إضافة عدّلت الصفحة حتى لو مش موجودة في القائمة الأصلية. حتى الـ VPN اللي بيحقن عنصر واحد في الـ DOM بيتكشف.

التكامل بين المرحلتين الثانية والثالثة مقصود: المرحلة الثانية تكتشف إضافات مثبّتة لكنها لم تُعدّل الصفحة، والمرحلة الثالثة تكتشف إضافات عدّلت الصفحة لكنها غير موجودة في القائمة. معاً، يُغطيان جميع الحالات.


البصمة الرقمية (منظومة APFC/DNA)

ما هو الـ Browser Fingerprinting؟

الـ Browser Fingerprinting هو تقنية تتبع تعتمد على جمع خصائص تقنية فريدة من جهازك ومتصفحك بدون تخزين أي شيء على جهازك — لا كوكيز، لا ملفات، لا أي أثر محلي. الفكرة أن توليفة هذه الخصائص تكوّن بصمة شبه فريدة يصعب تكرارها عند شخص آخر.

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

مواصفات منظومة APFC

المنظومة اسمها الداخلي APFC (Anti-fraud Platform Features Collection)، ويُشار إليها أيضاً بـ DNA (Device Network Analysis). تجمع 48 خاصية في كل جلسة موزّعة على الفئات التالية:

بيانات الشبكة والهوية

العنوان الداخلي للشبكة (Local IP) عبر WebRTC

  • نوع الاتصال (connection type)
  • سرعة التحميل (downlink speed)
  • زمن الاستجابة (round-trip time)
  • بروتوكول الصفحة الحالية، الـ hostname، الـ port، الـ origin، الـ href

بيانات المعالج والذاكرة

  • عدد أنوية المعالج (hardwareConcurrency)
  • حجم الذاكرة المتاحة بالجيجابايت (deviceMemory)
  • بنية المعالج (cpuClass)

بصمة الشاشة والعرض

  • دقة الشاشة الكاملة والمتاحة
  • عمق الألوان (color depth)
  • نسبة البكسل (pixel ratio)
  • اتجاه الشاشة

البصمة الصوتية عبر AudioContext

// إنشاء سياق صوتي مخفي
const context = new AudioContext()
const oscillator = context.createOscillator()
const compressor = context.createDynamicsCompressor()
const analyser = context.createAnalyser()
// تحليل الفروقات الدقيقة في معالجة الصوت
// كل بطاقة صوت تُنتج نتيجة مختلفة قليلاً

البصمة البصرية عبر Canvas وWebGL

// رسم عنصر مخفي وتحليل بياناته
const canvas = document.createElement('canvas')
const ctx = canvas.getContext('2d')
// رسم نص وأشكال وتحليل قيم البكسل
// كل بطاقة رسومات تُنتج نتيجة مختلفة

// جمع 65+ معامل من WebGL:
// renderer, vendor, extensions, parameters...
const gl = canvas.getContext('webgl')
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info')

بيانات الأجهزة المتصلة

// قائمة الكاميرات والمايكروفونات والسماعات
navigator.mediaDevices.enumerateDevices()
  .then(devices => collectDeviceList(devices))

بيانات البطارية والطاقة

  • مستوى الشحن الحالي
  • حالة الشحن (يشحن/لا يشحن)
  • الوقت المقدّر للنفاد

مؤشرات خاصة

// ❶ فحص وضع التصفح الخاص
detectIncognitoMode()

// ❷ فحص أدوات الأتمتة
detectAutomation()  // Selenium, Puppeteer, etc.

// ❸ التفصيلة الأهم — إعداد "لا تتتبعني"
navigator.doNotTrack  // يُسجَّل ويُتجاهل

التفصيلة الأكثر دلالة: doNotTrack

في السطر 9512 من نفس الملف:

const fingerprintConfig = {
  features: [...all48Features],
  excludes: {
    doNotTrack: true  // يُجمع لكن لا يدخل في حساب البصمة
  }
}

رقم 23 في قائمة الـ APFC هو doNotTrack الإعداد الذي يُفعّله المستخدم صراحةً ليُبلّغ المتصفح برفضه للتتبع. لينكد إن بتسجّله، وبتستثنيه من حساب البصمة عمداً.

المعنى العملي: بيعرف إنك رافض التتبع وبيتتبعك بردو.

مصير البيانات المجمّعة

بعد جمع الـ 48 خاصية ونتائج فحص الإضافات:

البيانات تُسلسَل بصيغة JSON

تُشفَّر بمفتاح RSA العام المُعرَّف بـ apfcDfPK
تُحقن في globalThis.apfcDf

كل ده بيتجمع وبيتعبت:

Data collected sent to 3 Endpoints:
            ├── linkedin.com/li/track
            ├── /platform-telemetry/li/apfcDf
            └── /apfc/collect

تُحقن كـ HTTP header في كل طلب API خلال الجلسة.

يعني كل بحث بتعمله، كل بروفايل بتزوره، كل طلب توظيف بتبعته — بيحمل معه بصمتك الرقمية الكاملة كـ header مشفّر.


شركات الطرف الثالث مين بيستقبل بياناتك؟

❶ HUMAN Security — الشريك الخفي

جوّا نفس الملف، فيه إطار iframe مخفي تماماً:

<!-- الإطار المخفي — صفر في صفر بكسل -->
<iframe
  src="https://li.protechts.net/..."
  width="0"
  height="0"
  style="position:absolute; left:-9999px"
  aria-hidden="true"
  tabindex="-1">
</iframe>

هذا الإطار بيمرر عبر postMessage:

  • الـ bcookie (معرف الجلسة المُشفَّر)
  • إحداثيات الوقت
  • معرّف تطبيق ثابت: PXdOjV695v في بيئة الإنتاج

ويقرأ ويكتب كوكيز خاصة بـ HUMAN Security: _px3، _pxhd، _pxvid، pxcts

هذا الإطار موجود في كل صفحة، لكل مستخدم، حتى خارج سياق الإعلانات.

من هي HUMAN Security؟

شركة HUMAN Security في صورتها الحالية نتاج دمج حدث سنة 2022:

الشركةالتأسيسالمقر
White Ops (لاحقاً HUMAN)2012نيويورك، الولايات المتحدة
PerimeterX2014تل أبيب، الكيان

شركة PerimeterX أسّسها Omri Iluz وIdo Safruti وOphir Ashkenazi من الكيان. عند الدمج، كان نصف الموظفين الـ 210 في الكيان.

بعد الدمج:

  • وسّعت HUMAN مركز البحث والتطوير في الكيان وضخّت 50 وظيفة جديدة
  • انضم المؤسسون الأصليون لمجلس الإدارة
  • تولّى Ido Safruti منصب المدير التقني للشركة المدموجة

البيانات مش بتروح فقط لسيرفرات لينكد إن في الولايات المتحدة — بتمر على بنية تقنية قيادتها التقنية ومركز أبحاثها في الكيان.

❷ Merchant Pool — بصمة إضافية

سكريبت منفصل بيُحمَّل من merchantpool1.linkedin.com بيمرر الـ session cookie ومعرّف instance ثابت لجمع بصمة إضافية.

❸ Google reCAPTCHA v3 Enterprise

بيُحمَّل وينُفَّذ في كل تحميل صفحة مع الـ action onPageLoad، ويجمع الـ token بصمت تام.

لا شيء من هذه التدفقات مذكور في سياسة خصوصية لينكد إن.


ماذا تكشف إضافاتك عنك؟

تحليل Fairlinked لقائمة الـ 6,222 إضافة كشف عن فئات تكشف معلومات بالغة الحساسية:

الفئة الأولى: البحث عن وظيفة — 509 إضافة (1.4 مليون مستخدم)

اكتشاف هذه الإضافات على جهاز موظف بيظهر مكانه الحالي على لينكد إن يعني أن المنصة تعرف أنه يفكر في تغيير وظيفته — على نفس المنصة التي مديره وزملاؤه موجودون عليها وشايفين بروفايله.

الفئة الثانية: المنافسون التجاريون — 209 إضافات

تشمل أدوات استخبارات المبيعات الكبرى التي تتنافس مع منتج Sales Navigator (إيرادات ~مليار دولار سنوياً). اكتشاف هذه الإضافات على أجهزة موظفي شركة ما يُمكّن لينكد إن من معرفة أي الشركات تستخدم أدوات منافسيها.

الفئة الثالثة: الإضافات الدينية

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

الفئة الرابعة: الإضافات السياسية

تشمل إضافات لتصفية المحتوى بناءً على توجهات سياسية. الآراء السياسية فئة بيانات محمية بموجب المادة التاسعة أيضاً.

الفئة الخامسة: احتياجات عصبية خاصة

إضافة “simplify” مكتوب في وصفها الرسمي إنها “for neurodivergent users”. هذا معالجة لبيانات صحية.

الفئة السادسة: أدوات الأمن والخصوصية — 200+ إضافة

تشمل Malwarebytes Browser Guard وأدوات VPN وإدارة كلمات المرور. معرفة أي الشركات تستخدم أي أدوات أمنية يكشف وضعها الأمني — معلومات بالغة الحساسية للمؤسسات الحكومية والعسكرية.


الاعتراف الرسمي — الوثيقة القانونية

في إطار الإجراءات القضائية الألمانية، أدلت Milinda Lakkam — المديرة الأولى لهندسة البرمجيات والذكاء الاصطناعي في لينكد إن — بإفادة رسمية مُوثَّقة أمام المحكمة بتاريخ 6 فبراير 2026 من Mountain View، كاليفورنيا، مرجوعاً إليها كـ Anlage AG 4.

الفقرة الثالثة من الإفادة تنص: “لينكد إن استثمرت في آليات كشف الإضافات التي بدونها لم تكن قادرة على تتبع أسباب التأثيرات والانقطاعات في الخدمة.”

والفقرة الرابعة تحتوي على تناقض داخلي صريح: تؤكد أن النماذج “لا تأخذ أي إضافات بعين الاعتبار”، وفي نفس الفقرة تعترف بأن “إجراءات قد اتُّخذت ضد مستخدمين بسبب إضافات مُحددة مثبّتة عندهم.”

هذا ليس تسريباً ولا اتهاماً. هذا تناقض داخلي موثّق في وثيقة قانونية رسمية مقدّمة أمام المحكمة.


سادساً: الإطار القانوني — الانتهاكات المحتملة

في الاتحاد الأوروبي

الإطار القانونيالانتهاك المحتملالعقوبة القصوى
المادة 9 من GDPRمعالجة بيانات دينية وصحية وسياسية بدون موافقة€20 مليون أو 4% من الإيرادات العالمية
المادة 6 من GDPRمعالجة بيانات شخصية بدون أساس قانوني€20 مليون أو 4%
المادتان 13 و14 من GDPRغياب الإفصاح عن المعالجة€20 مليون أو 4%
توجيه ePrivacyالوصول لمعلومات على الجهاز بدون موافقة€300,000 لكل انتهاك في ألمانيا
القانون الجنائي الألماني §202aالوصول غير المصرّح لبياناتحتى 3 سنوات سجن

الغرامة المحتملة: 4% من إيرادات مايكروسوفت السنوية (281.72 مليار دولار) = 11.27 مليار دولار.

السياق: لينكد إن تعرّضت بالفعل لغرامة 310 مليون يورو في أكتوبر 2024 — على انتهاكات GDPR منفصلة تماماً عن هذا الملف.

في المملكة المتحدة

  • قانون إساءة استخدام الكمبيوتر 1990 (القسم الأول): الوصول غير المصرّح، حتى سنتين سجن
  • قانون UK GDPR: غرامة حتى £17.5 مليون أو 4% من الإيرادات

في الولايات المتحدة

دعوى قضائية أمريكية أولى — Ganan v. LinkedIn Corporation:

  • رقم القضية: 5:26-cv-02968
  • المحكمة: المحكمة الفيدرالية لمنطقة شمال كاليفورنيا
  • تاريخ الإيداع: 7 أبريل 2026
  • المدّعي: Jeff Ganan، متخصص مبيعات من لوس أنجلوس
  • المحامي: مكتب J.R. Howell

دعوى قضائية أمريكية ثانية:

  • المدّعي: Nicholas Farrell، مقيم في كاليفورنيا
  • التركيز: انتهاك حق الخصوصية الدستوري في كاليفورنيا

الانتهاكات المُدّعى بها في الدعويين:

  • قانون التنصت الفيدرالي (Federal Wiretap Act)
  • قانون قواعد البيانات المحوسبة (CFAA)
  • قانون إلكترونيكس للاتصالات والخصوصية (ECPA)
  • لوائح خصوصية كاليفورنيا (CCPA وCPRA)
  • قانون انتهاك الخصوصية في كاليفورنيا (CIPA) — 5,000 دولار لكل انتهاك

انتهاك قانون الأسواق الرقمية (DMA)

صنّفت اللجنة الأوروبية لينكد إن كـ “حارس بوابة” في سبتمبر 2023، مما ألزمها بفتح المنصة أمام أدوات الطرف الثالث. نمو قائمة الفحص من 1,000 إلى 6,222 إضافة حدث بالضبط خلال فترة الامتثال لهذا القانون.

المنصة قالت للاتحاد الأوروبي “هنفتح الباب” — وفي نفس الوقت بنت منظومة رصد لكل مستخدم يستخدم أدوات المنافسين.


التسلسل الزمني الكامل

التاريخالحدث
2017لينكد إن تبدأ بفحص 38 إضافة
سبتمبر 2023اللجنة الأوروبية تصنّف لينكد إن كـ “حارس بوابة” تحت DMA
2024القائمة تصل إلى 461 إضافة
مايو 2024لينكد إن تدمج HUMAN Security في منصة الإعلانات
أكتوبر 2024غرامة €310 مليون من المفوضية الأوروبية لانتهاكات GDPR منفصلة
ديسمبر 2025القائمة تصل إلى 5,459 إضافة
6 فبراير 2026إفادة Milinda Lakkam الرسمية أمام المحكمة الألمانية
19 فبراير 2026Fairlinked تُختم ملف الأدلة رقمياً عبر freetsa.org
فبراير 2026القائمة تصل إلى 6,167 إضافة — معدل نمو 12 إضافة/يوم
9 مارس 2026Fairlinked تنشر تقرير BrowserGate كاملاً
5 أبريل 2026PPC Land ينشر التحليل التقني التفصيلي
7 أبريل 2026BleepingComputer يُؤكد مستقلاً نشاط الفحص على 6,236 إضافة
7-8 أبريل 2026إيداع دعويين قضائيتين في المحكمة الفيدرالية بكاليفورنيا

الجهة المدّعية — Fairlinked e.V.

منظمة Fairlinked e.V هي مجموعة مناصرة أوروبية ألمانية تمثل المستخدمين التجاريين للينكد إن، نشرت التقرير الأصلي في مارس 2026، ووفّرت:

  • تحليلاً تقنياً كاملاً للكود المصدري
  • ملف أدلة يحتوي على أرشيف مُختوم رقمياً بتوقيت RFC 3161
  • الإفادة القانونية الخاصة بـ Milinda Lakkam

الملف موجود للتنزيل على browsergate.eu ويمكن التحقق منه مشفّرياً.


موقف لينكد إن

في تصريح لـ BleepingComputer، وصف متحدث باسم لينكد إن منظومة الفحص بأنها “إجراء أمني لمكافحة أدوات الـ scraping وانتهاكات المنصة”، ونفت أن تكون هناك انتهاكات لسياسة الخصوصية.

كما أشارت الشركة إلى أن المحكمة الألمانية رفضت طلب حظر مؤقت من Teamfluence (الجهة المرتبطة بـ Fairlinked)، لكن المحامين المشاركين في القضية الأمريكية أكدوا أن هذا الرفض لم يتناول النطاق الكامل لادعاءات BrowserGate.


ازاي تحمي نفسك؟

مقارنة المتصفحات

المتصفحمخطط الإضافاتالفحص المباشر (AED)SpectroscopyAPFC
Chrome/ EDGEchrome-extension://مكشوف بالكاملمكشوف بالكاملمكشوف بالكامل
Bravechrome-extension://جزئي (مع Strict Shields)مكشوفجزئي
Firefoxmoz-extension://محمي بالكاملمحمي جزئياًمحمي جزئياً
Safarisafari-web-extension://محمي بالكاملمحمي بالكاملمحمي بالكامل

التوصيات التفصيلية

فايرفوكس — الخيار الأمثل

لينكد إن تبني قائمتها على مخطط chrome-extension://. فايرفوكس يستخدم moz-extension://، مما يجعل الـ 6,222 إضافة في القائمة عديمة الفائدة كلياً. للتعزيز الإضافي:

Firefox Multi-Account Containers

→ عزل نشاط لينكد إن في حاوية منفصلة تماماً
→ منع أي تسرب لبيانات التصفح لسياقات أخرى

سفاري — حماية مزدوجة

  • الحماية الأولى: الـ user agent لا يحتوي على “Chrome” فوحدة الفحص لا تتنفذ أصلاً
  • الحماية الثانية: مخطط safari-web-extension:// غير متوافق مع القائمة كلياً

Brave— حماية جزئية

الإضافات في برايف تستخدم chrome-extension:// مما يجعل الفحص المباشر ممكناً. للحصول على أقصى حماية:

brave://settings/shields
→ Fingerprinting blocking: Strict

هذا يُشوّش على منظومة APFC لكن لا يمنع الفحص المباشر كلياً.

إجراءات إضافية (لجميع المتصفحات)

  • تفعيل DNS-over-HTTPS لمنع رصد الطلبات على مستوى الشبكة
  • استخدام ملحق uBlock Origin في وضع الحظر القياسي
  • فصل حسابات لينكد إن عن باقي التصفح عبر ملفات تعريف منفصلة

الخلاصة

لينكد ان BrowserGate ليس مجرد انتهاك خصوصية. هو توثيق تقني دقيق لكيفية بناء منظومة استخباراتية خفية داخل موقع يعتقد مستخدموه أنهم يستخدمونه لأغراض مهنية.

المنظومة:

  • تفحص 6,222 إضافة في كل جلسة عبر ثلاث مراحل متكاملة
  • تجمع 48 خاصية من جهازك لبناء بصمة فريدة
  • تُرسل البيانات مشفّرة لثلاثة أطراف بما فيهم HUMAN Security
  • تكشف معلومات دينية وصحية وسياسية وتوظيفية بدون موافصة
  • تُحقن البصمة كـ HTTP header في كل طلب API خلال الجلسة
  • تسجّل إعداد رفض التتبع ثم تتجاهله عمداً

وكل ده موثّق في كود يمكن لأي شخص فتحه والتحقق منه بنفسه.


المصادر