بصمة WebGPU: الجيل التالي بعد Canvas وWebGL
يكشف WebGPU قدرات عتادية أعمق مما يكشفه Canvas وWebGL معًا، وهو متاح بالفعل في Chrome وEdge وFirefox. ما الذي يُظهره، ولماذا سيحل محل تقنيات البصم الأقدم خلال سنتين إلى ثلاث.
صدر WebGPU في Chrome 113 عام 2023، وبحلول 2026 صار متاحًا في جميع المتصفحات الكبرى على جميع المنصات الكبرى. وخلافًا لـ WebGL — وهي واجهة برمجية للمتصفح تغلّف OpenGL ES 2.0 — يمثّل WebGPU واجهة مباشرة إلى واجهات الرسوميات الحديثة: Vulkan على Linux، وMetal على macOS، وDirectX 12 على Windows.
وهذا يغيّر ما يستطيع المتصفح الاستعلام عنه بشأن العتاد الكامن تحته. فقد اعتمد البصم عبر Canvas وWebGL على نواتج التصيير، بينما يتيح WebGPU الاستعلام المباشر عن قدرات وحدة الرسوميات نفسها، كاشفًا تفاصيل معمارية لا يستطيع ناتج التصيير سوى التلميح إليها.
وبالنسبة إلى البصم، فهذه قفزة نوعية في جودة الإشارة.
ما يكشفه WebGPU ولا يكشفه WebGL
سطح التشخيص في WebGL محدود. وأنفع ما فيه امتداد WEBGL_debug_renderer_info الذي يعيد سلسلتي المورّد والمصيِّر — وكثيرًا ما تنتحلهما متصفحات مكافحة الكشف أو تجرّدهما ميزات الخصوصية.
أما WebGPU فيوفّر كائنَي GPUAdapter وGPUAdapterInfo ببيانات أغنى كثيرًا:
- Vendor — معرّف الشركة المصنّعة لوحدة الرسوميات (NVIDIA، AMD، Intel، Apple، Qualcomm).
- Architecture — عائلة معمارية وحدة الرسوميات (Ampere، RDNA 2، Xe-LP، Apple M2، Adreno).
- Device — الطراز المحدد حيثما توفّر.
- Description — سلسلة نصية مقروءة للبشر.
وإلى جانب التعريف، يكشف WebGPU حدود وحدة الرسوميات، أي قدراتها الرقمية الدقيقة. ويمكن الاستعلام عنها عبر واجهة GPUSupportedLimits، وهي تشمل أكثر من 30 خاصية رقمية:
- أقصى أبعاد للنسيج —
maxTextureDimension2D - أقصى حجم للمخزن المؤقت —
maxBufferSize - أقصى عدد لمجموعات الربط —
maxBindGroups - أقصى أبعاد لمجموعة عمل الحوسبة
- أقصى عدد لسمات الرؤوس
- متطلبات المحاذاة لمخازن التخزين
كل قيمة من هذه القيم يضبطها مشغّل وحدة الرسوميات بحسب قدرة العتاد. وتختلف تركيبات الحدود بين أجيال الوحدات، حتى داخل المورّد الواحد. فوحدة من عام 2019 لها حدود تغاير وحدة من عام 2023 في العائلة نفسها.
لماذا يصعب انتحال ذلك
تنتحل متصفحات مكافحة الكشف بصمتَي Canvas وWebGL باعتراض استدعاءات الواجهة البرمجية وتعديل النتائج. فما يعيده Canvas هو تجزئات لبكسلات مُصيَّرة: يمكن للمتصفح أن يصيّر ثم يستبدل التجزئة. أما WebGL فيُستعلم منه عن عدد قليل من السلاسل النصية التي يمكن استبدالها جملةً.
وWebGPU مختلف. فسطح الواجهة واسع — مئات الدوال والخصائص — وكل استدعاء يحتاج قيمة إرجاع معقولة. وعلى طبقة الانتحال أن:
- تقدّم هوية متسقة عبر جميع الحدود الرقمية؛ فوحدة تدّعي أنها NVIDIA RTX 4090 عليها أن تعيد كل قيمة حد تطابق ذلك العتاد.
- تتعامل مع تنفيذ حوسبي حقيقي. فـ WebGPU يتيح تشغيل مظلِّلات الحوسبة، وإذا ادّعت طبقة الانتحال أداءً عاليًا بينما تقدّم حوسبة بطيئة، انكشف التناقض عبر قياس الزمن.
- تتابع التغيّر عبر تحديثات المشغّلات. فلكل إصدار من مشغّل وحدة الرسوميات حدود مختلفة قليلًا، وتتقادم جداول الانتحال الساكنة مع صدور المشغّلات الجديدة.
العتاد الحقيقي يوفّر ذلك كله بلا مقابل. أما انتحال العتاد فيقتضي صيانة قاعدة بيانات لتركيبات الحدود الصحيحة لكل طراز ولكل إصدار مشغّل — عبء صيانة مستمر لم تتحمّله بعدُ معظم متصفحات مكافحة الكشف.
أداء الحوسبة بوصفه بصمة
يتيح WebGPU تشغيل مظلِّلات حوسبة اعتباطية داخل المتصفح، ما يعني أن أنظمة الكشف تستطيع تنفيذ أحمال عمل موحّدة وقياس زمنها.
فاختبار كسر التجزئات، أو ضرب المصفوفات، أو مهمة حوسبية قريبة من التصيير، تعمل جميعها بسرعات يحدّدها العتاد الكامن. وحين يدّعي زائران الطراز نفسه لوحدة الرسوميات بينما يقدّمان أداءً حوسبيًا مختلفًا، فأحدهما يكذب بشأن العتاد.
تتجاوز هذه التقنية انتحال البصمة الساكن تجاوزًا كاملًا. فبإمكان الزائر ادعاء أي سلسلة تعريف يشاء، لكنه لا يستطيع ادعاء أداء حوسبي لا يملكه.
والمقابل هو تجربة المستخدم؛ إذ يستهلك تشغيل مظلِّل حوسبة في الخلفية دورات من وحدة الرسوميات وقد يُحسّ بطئًا. وهذا يحدّ من شدّة استخدام التقنية، فتُستعمل عادةً فحصًا لمرة واحدة على الجلسات المريبة لا مراقبةً مستمرة.
توافر الميزات بوصفه إشارة
يكشف WebGPU الميزات الاختيارية عبر GPUAdapter.features. وبعض وحدات الرسوميات تدعم امتدادات بعينها:
timestamp-query— يتطلب وحدة رسوميات حديثة بعدّادات أداءshader-f16— فاصلة عائمة نصفية الدقة، شائعة في وحدات الأجهزة المحمولةtexture-compression-bc— ضغط الكتل، معيار على سطح المكتبtexture-compression-etc2— صيغة نسيج للأجهزة المحمولةtexture-compression-astc— صيغة نسيج للأجهزة المحمولة
ومجموعة الميزات حتمية لكل طراز. فجهاز يعمل بـ Windows ويدّعي ميزات Adreno المحمولة ينكشف، وجهاز محمول يدّعي صيغ ضغط خاصة بسطح المكتب ينكشف كذلك.
الاتساق مع WebGL
قبل WebGPU كان للمتصفحات سطح استعلام رئيس واحد عن وحدة الرسوميات هو WebGL. أما الآن فصار لديها سطحان، وعليهما أن يتفقا.
يكشف WebGL وWebGPU وحدة الرسوميات الكامنة نفسها، فيجب أن تتسق إجاباتهما. ومتصفح يبلّغ عبر WebGL بأنه NVIDIA RTX 4080 بينما يعيد حدود WebGPU مطابقة لوحدة Intel مدمجة أمرٌ مستحيل على عتاد حقيقي.
والاتساق بين الواجهتين إشارة كشف إضافية. فانتحال واجهة واحدة أمر مباشر، أما انتحال واجهتين على نحو متسق متبادلًا فأصعب بكثير — وهو ما لا تفعله معظم متصفحات مكافحة الكشف الحالية.
ما يكشفه WebGPU عن نظام التشغيل والمشغّل
إلى جانب تعريف وحدة الرسوميات، يكشف WebGPU سياق حزمة الرسوميات:
- على Windows، قد يُظهر WebGPU ما إذا كان المستخدَم هو Direct3D 11 أم Direct3D 12، وهو ما يرتبط بإصدار النظام وحقبة المشغّل.
- على macOS، يكشف إصدار Metal المدعوم إصدارَ النظام، لأن إصدارات Metal تُشحن مع تحديثات النظام.
- على Linux، تكشف مستويات دعم Vulkan التوزيعةَ وأصل المشغّل (مثل NVIDIA المملوك مقابل Mesa مفتوح المصدر).
ولا شيء من هذه الإشارات مباشر؛ فكل منها يحتاج تفسيرًا. لكنها مجتمعة ترسم صورة لحزمة البرمجيات الكامنة ينبغي أن تتوافق مع بصمة المتصفح المبلَّغ عنها، وأي تعارض يشير إلى الانتحال.
الجدول الزمني للتبنّي في حزم الكشف
لم يصر بصم WebGPU تقنية كشف سائدة في 2026، لثلاثة أسباب:
- دعم المتصفحات ما زال في طور الاستقرار. صدر WebGPU في Firefox عام 2024 لكن بتغطية ميزات محدودة، وصدر في Safari عام 2024 لكن بحدود تخالف Chrome. وتحتاج أنظمة الكشف تغطية واسعة قبل أن تعتمد على إشارات WebGPU.
- دعم WebGPU لدى المستخدمين الفعليين ما زال ناقصًا. فالأجهزة الأقدم لا تملك وحدات رسوميات تدعم ميزات WebGPU، ونظام كشف يعاقب الزوار الذين لا يملكونه يخاطر بحجب مستخدمين شرعيين على عتاد عمره خمس سنوات.
- لم تبنِ متصفحات مكافحة الكشف انتحالًا كاملًا لـ WebGPU بعد، ما يجعل الإشارات المبنية عليه فعّالة اليوم ضد مهاجمين متمرّسين يظنون أنهم أخفوا أثرهم. وسيتغير ذلك مع اتساع تبنّي الكشف واستجابة أدوات الانتحال.
وأفق تبنٍّ من سنتين إلى ثلاث أفق واقعي. فبحلول 2027–2028 ستغدو إشارات WebGPU محورية في كشف الروبوتات بقدر ما هو WebGL اليوم. والسؤال أمام فرق الكشف هو متى تبدأ جمع بيانات WebGPU، والجواب: الآن، ليكون خط الأساس التاريخي جاهزًا حين تصبح تلك الإشارات أساسية.
ماذا يعني هذا للمدافعين
بصم Canvas تقنية ناضجة، وبصم WebGL تقنية ناضجة، وكلتاهما تُنتحلان بنشاط بأدوات مكافحة الكشف وبنجاح لا بأس به.
أما بصم WebGPU فتقنية فتيّة لم تلحق بها أدوات الانتحال بعد. وهذا يفتح نافذة — نحو 18 إلى 36 شهرًا على الأرجح — تفصل فيها إشارات WebGPU المستخدمين الحقيقيين عن الروبوتات المتمرّسة فصلًا نظيفًا. وتستحق هذه النافذة الاستثمار.
كما أن الإشارات التي ينتجها أصعب انتحالًا بنيويًا من Canvas أو WebGL. فالتصيير يمكن اعتراضه، أما أداء الحوسبة فلا. ويمكن الكذب بشأن مجموعات الميزات، لكن ليس على نحو متسق عبر سطح الواجهة كله. وكل جيل من تقنيات البصم يرفع كلفة الانتحال، وWebGPU يرفعها رفعًا كبيرًا.
وبالنسبة إلى المنصات التي تأخذ كشف الروبوتات على محمل الجد في 2026 وما بعدها، فإن الإشارة تتحرك نحو WebGPU.