492 / 691CK-RNG

COLDCARD RNG Incident (2026)

حادث توليد العشوائية في محافظ ⁦COLDCARD⁩

وجّه خطأ تكامل معلن توليد البذور إلى مولّد برمجي قابل للتوقع بدل المصدر العتادي المقصود. يغيّر البرنامج الثابت المصحح عمليات التوليد المستقبلية؛ أما البذرة المتأثرة الموجودة فتحتاج إلى تقييم مستقل وترحيل وفق الإرشادات الحالية.

يشير ⁦COLDCARD RNG Incident⁩ (⁦2026⁩) إلى خلل توليد القيم السرية المعلن في يوليو ⁦2026⁩ وإصلاحه. العوامل المهمة هي الطراز ومسار البرنامج الثابت وإصداره عند إنشاء البذرة، وأصلها، وأي إنتروبيا مستقلة أضيفت إليها. لم يكن استيلاءً عن بُعد على الجهاز ولا خللًا في إجماع ⁦Bitcoin⁩.

نشرت ⁦Coinkite⁩ و⁦Block⁩ تحليلاتهما الأولى في ⁦30⁩ يوليو ⁦2026⁩ بعد ورود بلاغات عن خسائر. تصف الشركة المصنّعة اشتقاق المهاجمين لمفاتيح خاصة ضعيفة دون اتصال، لا التحكم بالأجهزة عن بُعد. لا تكفي علامة المحفظة وحدها لتحديد سبب خسارة فردية. يجب قراءة السجل التقني والإرشادات اللاحقة مع تواريخ مراجعتها. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed]

بعد الانتقال إلى ⁦libNgU⁩، وصل ⁦ngu.random.bytes⁩ إلى ⁦rng_get⁩ في ⁦MicroPython⁩ ومولّده ⁦Yasmarang⁩. كانت قيمة ⁦MICROPY_HW_ENABLE_RNG⁩ هي ⁦0⁩، لكن #⁦ifndef⁩ فحص وجود الماكرو لا تفعيل المسار العتادي. كان يمكن وجود شفرة ⁦TRNG⁩ المقصودة في الملف الثنائي دون أن يستخدمها توليد البذرة. لم يكن عطل عتادي قد فعّل بديلًا طارئًا أثناء التشغيل. [Coinkite — Technical Deep Dive into the Entropy Issue]

نشأت الحالة البرمجية من بيانات الجهاز والمؤقتات وسجل الاستدعاءات. تصف ⁦Block⁩ إعادة تهيئة إضافية في ⁦Mk4⁩ و⁦Mk5⁩ و⁦Q⁩ محدودة بـ⁦32⁩ بت: بحد أقصى ⁦2^32⁩ تدفقًا مختلفًا عند تثبيت بقية الحالة. وقدمت ⁦Coinkite⁩ تقديرات إجمالية أولية تقارب ⁦40⁩ بت لطرازي ⁦Mk2/Mk3⁩ و⁦72⁩ بت للطرازات الأحدث. تختلف افتراضات هذه الأرقام؛ فلا تحدد تكلفة هجوم عامة ولا تثبت إمكانية كسر كل محفظة فورًا. [Block — Predictable RNG Fallback and 32-Bit Reseed] [Coinkite — Technical Deep Dive into the Entropy Issue]

تذكر الإرشادات الرسمية ⁦Mk2/Mk3 4.0.1–4.1.9⁩. يشمل تحليل ⁦Block⁩ الأول إصدار ⁦4.0.0⁩ وتغيير مارس ⁦2021⁩؛ ونُبقي هذا الاختلاف بين السجلات واضحًا. عند غموض أصل البذرة، يوصي دليل الترحيل باتباع مسار الترحيل الحذر. تأثرت ⁦Mk4/Mk5⁩ و⁦Q⁩ قبل إصلاح مسارها المعني. والقول القديم في التحليل الأول إن جميع إصدارات الإنتاج متأثرة لا يصف الإصدارات المصححة الحالية. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

إصدارات الإصلاح الدنيا هي ⁦Mk2/Mk3 4.2.0⁩، و⁦Mk4/Mk5 Standard 5.6.0⁩، و⁦Q Standard 1.5.0Q⁩، و⁦Mk4/Mk5 Edge 6.6.0X⁩، و⁦Q Edge 6.6.0QX⁩. لا يجوز مقارنة أرقام المسارات المختلفة كسلسلة واحدة. وقت هذه المراجعة، توصي صفحة الحالة بـ⁦Standard 5.6.2⁩ لطرازي ⁦Mk4/Mk5⁩ و⁦1.5.2Q⁩ لطراز ⁦Q⁩. قبل التثبيت، تحقق من الصفحة الرسمية الحالية ومن تجزئة الإصدار وتوقيعه؛ لا يكفي رقم أعلى في مسار آخر. [COLDCARD — Current Security Status]

قد تغيّر التجزئة الحتمية شكل المخرج، لكنها لا توسّع مجموعة المدخلات الممكنة. ولا يضيف ⁦BIP39 Checksum⁩ الإنتروبيا المفقودة. لا تضعف بذرة خارجية أُنشئت بأمان بسبب هذا الحادث لمجرد استيرادها إلى ⁦COLDCARD⁩. وبالعكس، تبقى البذرة المتأثرة كذلك بعد استعادتها على جهاز آخر؛ فلا يحولها التحديث أو الاستنساخ أو النقل إلى بذرة جديدة. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

يشترط استثناء الشركة المصنّعة إدخال ⁦50⁩ رمية على الأقل، عادلة ومستقلة وخاصة، عبر مسار ⁦Add Dice Rolls⁩ الأصلي واستخدام الكلمات النهائية المعروضة بعد الإضافة. عند عدد أقل أو وجود شك توصي بالترحيل. تضيف ⁦BIP39 Passphrase⁩ قوية وفريدة حاجزًا، لكنها لا تصلح بذرة ضعيفة؛ وتوصي الشركة مستخدميها بالترحيل أيضًا. ⁦PIN⁩ ليس عبارة المرور. يجب فصل متطلبات إنشاء البذور الحالية عن هذا الاستثناء التاريخي. [Coinkite — COLDCARD Security Advisory]

يتضمن الدليل الحالي التحقق من النسخ الاحتياطية، وتثبيت الإصلاح المناسب، وإنشاء بذرة جديدة فعلًا، وفحص البصمة وعنوان الاستلام على الجهاز، وإجراء معاملة اختبار صغيرة. لا تُنقل بقية الأموال إلا بعد التحقق من الوجهة الجديدة. احتفظ بالنسخة القديمة حتى تأكيد الترحيل بالكامل، وراجع جميع الحسابات المموّلة ومحافظ عبارة المرور والمحافظ الفرعية المشتقة وسياسات ⁦multisig⁩. عند عدم التطابق لا تحذف أو ترسل شيئًا؛ لا مكان لبيانات الاستعادة الخاصة في نموذج ويب. [COLDCARD — Seed migration guide]

لا يشكل ⁦Multisig⁩ استثناءً تلقائيًا: قد يكفي عدد من مفاتيح التوقيع المخترقة لتحقيق عتبة السياسة القديمة. يجب تقييم المفاتيح الآمنة المتبقية والتحقق من السياسة البديلة. تذكر ⁦Block⁩ مستهلكين آخرين للعشوائية نفسها، مثل مفاتيح ⁦paper-wallet⁩ المستقلة وبعض مفاتيح التشفير المؤقتة. تعتمد الخطورة على البروتوكول المحدد والبيانات المتاحة؛ ولا تعني أثرًا متساويًا على كل وظيفة. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

تميّز صفحة الحالة بين اختبار ⁦RNG⁩ العتادي على جهاز ⁦Mk4⁩ فعلي، ومراجعات المصدر، وإعادة إنتاج بناء إصلاح محدد. هذه فحوص محدودة للمسار والآلية، وليست تدقيقًا كاملًا لكل ملف ثنائي أو دليلًا على غياب جميع العيوب. يتطلب ⁦Standard⁩ الحالي أيضًا مساهمة المستخدم بالإنتروبيا؛ لذا يكون الادعاء القديم بأنها اختيارية دائمًا مضللًا. وما زالت الصفحة تصف التقرير التقني التفصيلي المنفصل عن الحادث بأنه قيد الإعداد. [COLDCARD — Current Security Status]

مثال · CK-RNG

برنامج ثابت جديد، لكن البذرة الأصلية باقية

أنشأ مستخدم بذرة على ⁦Mk3 4.1.9⁩ دون رميات نرد خاصة به. ثم ثبّت ⁦4.2.0⁩ واستعاد الكلمات نفسها على جهاز آخر. لم يتغير أصل البذرة. يقيّم المعالجة وفق دليل الترحيل: بذرة جديدة مولّدة بأمان، ونسخة وعنوان متحقق منهما، وتحويل تجريبي، ثم البقية. يحتفظ بالنسخة القديمة حتى تأكيد جميع الأموال.

للحصول على صورة أوضح، اقرأ هذا المدخل مع Cryptographic Entropy, Deterministic RNG, Seed Generation, BIP39 checksum, BIP39 passphrase, Dice Roll Entropy.

01هل يكفي تحديث البرنامج الثابت أو شراء محفظة جديدة؟

لا. لا تغيّر أي من الخطوتين بذرة موجودة. المهم أين وكيف أُنشئت. يجب معالجة الأموال المتأثرة وفق إرشادات الترحيل وشروط استثناء النرد المستقل الدقيقة؛ فاستعادة الكلمات نفسها لا تزيل المشكلة.

02هل يعني رقم ⁦32⁩ بت أن الهجوم متساوي السهولة على جميع الطرازات؟

لا. في تحليل ⁦Block⁩ يحد هذا الرقم إعادة التهيئة الإضافية مع تثبيت بقية الحالة وسجل الاستدعاءات. تغيّر بيانات الجهاز أو التوقيتات المجهولة عمل المهاجم. التقدير ليس معيار أداء عامًا ولا دليلًا على أمان بذرة متأثرة بعينها.

DOC · 001Coinkite — Technical Deep Dive into the Entropy Issueمصدر أولي ↗DOC · 002Coinkite — COLDCARD Security Advisoryمصدر أولي ↗DOC · 003Block — Predictable RNG Fallback and 32-Bit Reseedمصدر أولي ↗DOC · 004COLDCARD — Current Security Statusمصدر أولي ↗DOC · 005COLDCARD — Seed migration guideتوثيق ↗
المصادر أولًا · ليست نصيحة استثمارية