مطور البيتكوين لوك داشجر في 9 نوفمبر قام بسرد تسعة مخاوف بشأن كود توليد الأرقام العشوائية في محفظة Coldcard المادية من Coinkite، وقال إنه أبلغ الشركة عنها سابقًا بشكل خاص.
"أنا لا أدّعي أن جميعها يمكن توظيفها كأسلحة، أو أن جميعها بالتأكيد ثغرات،" كتب داشجار في إفصاحه. وقال إنه لا يعرف ما إذا كان Coinkite قد أصلحها، ووصف مراجعته بأنها نظرة سريعة، وليست تدقيقًا كاملًا.
رابط مقالته بتحديث البرمجيات الثابتة لشهر يوليو. وتُظهر ملاحظات الإصدار اللاحقة لـ Coinkite ومصدرها المنشور تغييرات تعالج عدة مناطق أثارها، بما في ذلك فحوصات خطأ بذور الرقاقة واختبار التشغيل لمسار مولد الأرقام العشوائية المادي.
https://x.com/i/status/2119836060306018364
يتبع هذا الإفصاح حادثة توليد البذور الخاصة بـ Coldcard في يوليو. تقول Coinkite إن المهاجمين استغلوا بذور المحافظ الضعيفة من خلال إعادة توليد المفاتيح الخاصة بشكل غير متصل بالإنترنت وسرقة الأموال، دون الوصول عن بُعد إلى الأجهزة.
أثار منشورات Dashjr المُرقَّمة مخاوف بشأن الكود المستخدم بعد الإصلاح السابق:
سأل عما إذا كان ينبغي التخلص من العينات العشوائية الأولية عند التشغيل، وأشار إلى غياب فحوصات بذرة الشريحة وخطأ الساعة، وقال إن دليل الشريحة يطلب معالجة لاحقة للتطبيقات التشفيرية.
قال إن فحوصات الإخراج المتكرر تُطبق على القراءات المخزنة مؤقتًا ولكن ليس على المكالمات المباشرة، وجادل بأن إجراء كشف الأخطاء على المستوى الأدنى لم يُثبت كافياً بذاته.
سأل لماذا لم تحافظ عشوائية العنصر الآمن على القوة المتوقعة، وحث على إجراء اختبار كامل لمسار RNG المُمكّن حديثًا، ودعا إلى إجراء فحص على الجهاز بدلاً من الاعتماد فقط على تدابير الحماية أثناء البناء.
حذّر من أن استهلاك الوقت الذي يتم التعامل معه في سياق غير قادر على معالجة استثناء بايثون بأمان يمكن أن يسبب سلوكًا غير معرّف، وقد يؤدي إلى تعطيل الجهاز أو جعله غير قابل للاستخدام.
قال داشجر إنه أصدر بيانًا علنيًا بعد أن سمع أن نيفك يدّعي أن البشر لا يمكنهم اكتشاف عيب Coldcard. وفي وقت سابق من ذلك اليوم، كتب رئيس تنفيذي Coinkite رودولفو نوفاك، المعروف باسم NVK أن "هذا استلزم نموذج ذكاء اصطناعي جديد لاكتشاف ما لم يستطع البشر اكتشافه." كان منشور نوفاك يتناول اكتشاف عيب توليد البذور السابق؛ بينما تناول الموضوع التقني الذي نشره داشجر الكود بعد الإصلاح.
تمت إضافة فحوصات RNG في التحديث اللاحق
تُدرج صفحة التنزيل الخاصة بـ Coinkite الإصدار 5.6.3 كبرنامج ثابت قياسي حالي لـ Mk4/Mk5 والإصدار 1.5.3Q لـ Q. ويُرجع تاريخ سجل الإصدارات إضافة كشف أخطاء البذور واختبار ذاتي لبدء تشغيل مولد الأرقام العشوائية المادي إلى الإصدار 5.6.1، الذي صدر في 20 أغسطس.
يتجاهل المصدر المنشور Mk4 لإصدار 5.6.3 العينات الأولية، ويفحص علامات خطأ البذور، ويعيد محاولة الفشل، ويجرب ما إذا كانت المكالمات تصل إلى مولد الأرقام العشوائية من الجهاز. كما تشير ملاحظات الإصدار إلى أن كلا عنصري الأمان يُؤخذان عينة مباشرة لكل بذرة رئيسية جديدة، بدلاً من المساهمة فقط من خلال تهيئة مولد الأرقام العشوائية عند التشغيل.
لا يزال المصدر الحالي يضع فحص الإخراج المتكرر في إجراء القراءة المؤقتة بدلاً من كل استدعاء مباشر. تشير ملاحظاته إلى أن علامات خطأ الساعة تُهمل عمداً، مع الاستناد إلى وثائق الشريحة التي تفيد أن هذه الأخطاء لا تُبطل الأرقام المولدة.
للمستخدمين المتأثرين بحادث يوليو، يظل التوجيه المستمر من Coinkite هو أن تحديث البرنامج الثابت لا يصلح البذرة الضعيفة الموجودة. يجب على هؤلاء المستخدمين اتباع إرشادات الهجرة الخاصة بها ما لم ينطبق استثناء النرد المستقل المذكور في التحذير.



