MetaMask تسدّ ثغرة خصوصية أبقت خوادم خارجية متصلة بعد تعطيل المشاركة من قِبل المستخدمين
أصدرت MetaMask إصلاحًا يوم 12 نوفمبر يوقف إضافات Snaps العاملة التي ظلت تتصل بخوادم شبكة البيتكوين وخوادم الأسعار بعد تعطيل المستخدمين للوظائف الأساسية.
إضافات Snaps العاملة بقيت متصلة
سمحت ثغرة في محفظة MetaMask باستمرار الاتصال بخوادم خارجية حتى بعد أن أوقف المستخدمون ميزات مشاركة البيانات، وأصدر المطوّرون إصلاحًا على GitHub يوم الخميس 12 نوفمبر. تدور المشكلة حول ميزة الوظائف الأساسية، وهو المفتاح الذي يحدد ما إذا كانت المحفظة تتواصل مع خوادم خارجية لجلب الأسعار والأرصدة وبيانات مشابهة. من يرغب في خفض الاتصالات الصادرة يمكنه تعطيلها. ويقول تعديل الشيفرة الذي نشرته MetaMask الأمر بوضوح: حتى مع تعطيل الوظائف الأساسية، ظلت بعض الخوادم الخارجية موصولة.
تعود الحالة إلى إضافات Snaps، إطار التوسعة الذي يعتمده MetaMask، والذي يتيح للمحفظة تشغيل برامج تدعم سلاسل أخرى، ومنها البيتكوين وStellar. وفق السلوك القديم، كان إيقاف الوظائف الأساسية يمنع الطلبات الجديدة الصادرة من الإضافات، لكنه كان يترك البرامج العاملة بالفعل في الذاكرة تعمل كما هي، فظلّت تتخاطب مع نقاط نهايتها الخاصة. هذا الانقسام هو ما أتاح للثغرة أن تُبقى قائمة: المفتاح يحكم النشاط الجديد، بينما العمليات المقيمة في الذاكرة لم تكن خاضعة لأحد. وبهذا ظلت خوادم شبكة البيتكوين وخوادم أسعار الأصول الرقمية في متناول الاتصال. وبذلك كان المستخدم الذي فعّل وضع الخصوصية عمليًا ما يزال يولّد اتصالات بالخدمات ذاتها التي أُعدّ الإعداد لقطعها.
إن الشيفرة المعدّلة تُنهي ذلك. فعند تعطيل الوظائف الأساسية، توقف MetaMask الآن الإضافات العاملة وتُنهي اتصالاتها الخارجية بدل تركها مستمرة. وبذلك ينقل الإصلاح مفتاح الإيقاف طبقة واحدة إلى الأسفل: منع الإضافات الجديدة لم يعد كافيًا، لأن البرامج المقيمة في الذاكرة هي أصحاب الاتصالات المفتوحة. أعاد المطورون إنتاج الخطأ أربع مرات في الاختبار قبل التعديل، وظهرت الاتصالات غير المرغوبة في الجولات الأربع كلها. وبعد الإصلاح، تصرّفت الجولات الأربع على النحو الصحيح، فقُطعت الاتصالات لحظة تعطيل المفتاح.
إفصاح سابق في أكتوبر
ليس هذا أول إخلال بالوعد ذاته. ففي 29 أكتوبر، أعلنت MetaMask أنه مع إيقاف الوظائف الأساسية كانت الطلبات تُرسل إلى عدة خوادم خارجية، وهي حالة سابقة لمحفظة تواصل الاتصال بعد أن اختار المستخدم الانسحاب. والشركة هي من نشر ذلك بنفسها، وهكذا دخل إلى السجل العام. أما تعديل 12 نوفمبر فيعالج سلوك إضافات Snaps تحديدًا، ولم تقل MetaMask ما إذا كان يحسم كل الأخطاء المثارة في إفصاح أكتوبر. هذه الفجوة هي الجانب المفتوح من القصة. فالمستخدم الذي يقرأ الإعلان السابق لا يحصل على أي تأكيد بأن الإصلاح يغلق الحالات الموصوفة هناك، وإنما يعلم فقط أن خطأ إضافات Snaps المُعاد إنتاجه يختبر اليوم بنتيجة نظيفة.
وتأتي هذه الحادثة على محفظة لم تخاطب البيتكوين أصلًا في بدايتها. فقد وُلدت MetaMask محفظة إيثريوم، والإضافات هي الآلية التي تتوسع بها إلى سلاسل أخرى، ومنها البيتكوين وStellar. وحراسة البيتكوين الذاتية داخل محفظة أصيلة في الإيثريوم كانت تمر تاريخيًا عبر البيتكوين الملفوف، وهو بديل مُرمّز يُصدر على سلسلة مختلفة، وجاءت الإضافات لتوسّع ذلك إلى دعم مباشر لشبكات إضافية. وقد واجه هذا التقاطع رفضًا من أنصار التطرف للبيتكوين، الموقف القائل بأن البيتكوين يجب أن يبقى منفصلًا، وهو اليوم يضع حركة شبكة البيتكوين داخل محفظة لم يثبتها كثير من حاملي البيتكوين أصلًا. وتحمل الإضافات أيضًا دخول المحفظة إلى التمويل اللامركزي على البيتكوين، أي منظومة الإقراض والتداول والعوائد المبنية على البيتكوين بدل بنية الإيثريوم، وهو سبب بقاء إطار الإضافات مشغّلًا لعمليات تتصل بخوادم خارجية من الأساس.
وبالنسبة للمستخدمين المتأثرين، فالمعنى العملي ضيق لكنه ملموس. فقد ظل الإعداد يُقرأ كمفتاح إيقاف بينما كانت المحفظة تحتفظ باتصالات ببنية شبكة البيتكوين وخوادم الأسعار. ووثيقة الإفصاح ترصد عطلًا في الاتصال لا حركة للأموال؛ فما يُظهره السجل هو حركة مرور استمرت ضد الإعداد، لا أرصدة مهددة.
ما لا يقوله الإصلاح
يبدأ قراؤنا من السجل الأولي: تعديل في مستودع MetaMask نفسها يوضح أن تعطيل الوظائف الأساسية يوقف اليوم الإضافات العاملة ويغلق اتصالاتها، وأنه اجتاز أربع عمليات إعادة إنتاج في اختبارات المطورين. وما لا يؤكده الإفصاح هو ما إذا كانت حالات أكتوبر مشمولة، وهذا الصمت هو الحقيقة الجوهرية لكل من يعتمد على هذا الإعداد. فالاتصالات غير المرغوبة بالخوادم لا تنقل الأموال كما يفعل استغلال ثغرة أو هجوم إعادة التشغيل؛ والضرر هنا يقع على تحكم خصوصي ظن المستخدمون أنه مفعّل. والملاحظة التي قد تعيد القصة حية من جديد هي تصريح من MetaMask بأن الإصلاح يغلق كل الحالات المتبقية. وهذا التصريح لم يصدر بعد.
تم إنتاجه بمساعدة الذكاء الاصطناعي، وتمت مراجعته بالذكاء الاصطناعي، ونُشر تحت الإشراف التحريري لـ COINOTAG.

