हे दोस्तों! हममें से ज़्यादातर लोग यही सोचते हैं कि हार्डवेयर वॉलेट्स एकदम अभेद्य किला होते हैं, जिन्हें कोई भेद नहीं सकता। पर अफ़सोस, ऐसा नहीं है। अभी दो दिन पहले ही मैंने "कोल्ड" डिवाइसेज़ से फंड्स ड्रेन होने की पहली रिपोर्ट पढ़ी, और सच बताऊँ तो इसे देखकर मेरे तो रोंगटे खड़े हो गए।
Coinkite का Coldcard तो बिटकॉइन-मैक्सिमलिस्ट्स के लिए हमेशा से गोल्ड स्टैंडर्ड माना जाता था। और उस पर ऐसा करारा झटका...
खैर, अब रोने-धोने से कुछ नहीं होगा, मुद्दे पर आते हैं। अगर आप अपने बिटकॉइन Coldcard पर रखते हैं, तो इस आर्टिकल को बहुत ध्यान से पढ़ें। नीचे मैं इस पूरे लूपहोल का क्रिप्टोग्राफिक पोस्टमार्टम करने वाला हूँ और साथ ही स्टेप-बाय-स्टेप गाइड दूँगा कि कैसे आप तुरंत अपने फंड्स को इस खतरे से बाहर निकाल सकते हैं।
⚠️ अर्जेन्ट अलर्ट / अर्जेंट चेतावनी
अगर आपने मार्च 2021 से जुलाई 2026 के बीच सीधे अपने Coldcard डिवाइस पर ही सीक्रेट रिकवरी फ्रेज़ (seed) जनरेट किया था, तो आपके फंड्स इस वक्त भयंकर खतरे में हैं।
हैकर्स के बॉट्स इस वक्त ब्लॉकचेन को ऑटोमेटेड मोड में पूरी तरह से खंगाल रहे हैं। तुरंत नीचे दिए गए स्टेप्स पढ़ें और अपने एसेट्स को सेफ जगह शिफ्ट करें!
1. आख़िर हुआ क्या? इस तबाही का पूरा सच
अगर आसान शब्दों में कहें तो: Coldcard के फर्मवेयर का रैंडम नंबर जनरेटर (RNG) वैसे "रैंडम" नंबर्स जनरेट नहीं कर रहा था जैसे इसे करने चाहिए थे। नतीजा यह हुआ कि हैकर्स ने प्राइवेट कीज़ का अनुमान लगा लिया और ताबड़तोड़ चोरी शुरू कर दी।
यह अटैक अलग-अलग वेव्स (लहरों) में आ रहा है। और मेरे टेक एक्सपीरियंस से मानो तो, जब तक इन कमज़ोर एड्रेस पर एक भी सतोशी बचा है, तब तक यह तीसरी वेव आख़िरी वेव नहीं होने वाली।
अटैक की टाइमलाइन और कितना नुकसान हुआ
| अटैक वेव्स | शुरुआती तारीख | प्रभावित एड्रेस (बढ़ोत्तरी) | चोरी हुए BTC (इस वेव में) | कुल चोरी हुए BTC | USD में अनुमानित वैल्यू |
|---|---|---|---|---|---|
| पहली वेव | 30 जुलाई 2026 | ~1 196 | ~1 082.65 BTC | 1 082.65 BTC | ~$67.1M |
| दूसरी वेव | 31 जुलाई 2026 | +1 477 (कुल 2 673) | +76.16 BTC | 1 158.81 BTC | ~$71.8M |
| तीसरी वेव | 02 अगस्त (अभी) | +1 912 (कुल 4 585) | +207.73 BTC | 1 366.54 BTC | ~$84.7M |
इन नंबर्स को देखकर ही सिर दर्द होने लगता है। लगभग 85 मिलियन डॉलर हवा में उड़ गए, सिर्फ इसलिए क्योंकि फर्मवेयर में एक कंपाइलर फ्लैग सही से काम नहीं कर पाया।
2. खतरे की ज़द में कौन-कौन है?
यहाँ थोड़ा ध्यान देने की ज़रूरत है। सारे के सारे Coldcard यूज़र्स खतरे में नहीं हैं।
निशाने पर मौजूद मॉडल्स और फर्मवेयर वर्ज़न्स:
- Coldcard Mk3: v4.1.2 से v5.2.1 तक के सभी फर्मवेयर वर्ज़न्स।
- Coldcard Mk4: v5.0.0 से v5.2.1 तक के सभी फर्मवेयर वर्ज़न्स।
- Coldcard Q (Q1 समेत): जुलाई 2026 के इमरजेंसी पैच से पहले के सभी पुराने बिल्ड्स।
लेकिन मॉडल से भी ज़्यादा ज़रूरी बात यह है कि आपने अपनी प्राइवेट की किस तरह जनरेट की थी।
जो खतरे में हैं:
- वे लोग जिन्होंने नया Coldcard सेटअप करते समय सीधे «Create New Seed» बटन दबाया, सिस्टम की डिफ़ॉल्ट एंट्रॉपी पर भरोसा किया और 12 या 24 शब्दों का सीक्रेट नोट कर लिया।
जो (काफ़ी हद तक) सेफ़ हैं:
- वे लोग जिन्होंने डिवाइस पर ही Dice Rolls (असली पासे फेंककर) का इस्तेमाल करके सीड जनरेट किया था। भाई, यही तो वो मस्ट-हैव तरीका है जिसके लिए मैं अपने इंजीनियर्स को बार-बार ज़ोर देता हूँ! पासे की फिज़िक्स ने सिस्टम RNG के इस लोचे को बायपास कर दिया।
- वे लोग जिन्होंने किसी दूसरे सेफ़ ऑफ़लाइन डिवाइस पर जनरेट किया हुआ सीड इम्पोर्ट किया था (जैसे Tails + Electrum या फिर Raspberry Pi पर किसी डेडिकेटेड टूल से)।
3. कैसे चेक करें कि आपका वॉलेट हैक हो सकता है या नहीं
अरे रुकिए, पैनिक करने की बिल्कुल ज़रूरत नहीं है। अपना डिवाइस हाथ में लीजिए और यह क्विक डायग्नोस्टिक चेक रन कीजिए।
स्टेप 1: फर्मवेयर वर्ज़न और डेट चेक करें
पावर कार्ड इंसर्ट करें (या Power Only केबल का यूज़ करें) और अपना PIN एंटर करें।
इस पाथ पर जाएँ: Advanced -> System Information -> Version।
अपना वर्ज़न चेक करें। अगर आपके Mk4 में मान लीजिए v5.1.0 चल रहा है और आपने सीड 2022 से 2024 के बीच कभी जनरेट किया था, तो बॉस, मामला गड़बड़ है और आप निशाने पर हैं।
स्टेप 2: अपने एड्रेसेज़ क्रॉस-चेक करें
Galaxy Research की टीम ने इस पर कमाल का काम किया है। उन्होंने पूरी एनालिसिस रिपोर्ट निकाली है और कॉम्प्रोमाइज्ड डेrivation पाथ्स के पूल्स को पब्लिक कर दिया है।
आप Coinkite के ऑफिशियल GitHub रिपोजिटरी पर मौजूद ओपन-सोर्स वेरिफिकेशन स्क्रिप्ट का इस्तेमाल करके अपने पब्लिक एड्रेसेज़ (xpub / zpub) चेक कर सकते हैं।
⚠️ सिक्योरिटी का थम्ब रूल: याद रखें, कभी भी... किसी भी हाल में अपने 12/24 शब्दों के सीड फ़्रेज़ को किसी वेबसाइट पर "चेक" करने के लिए एंटर मत करें! केवल पब्लिक एड्रेसेज़ (xpub) या इंडिविजुअल BTC एड्रेसेज़ ही चेक किए जाते हैं। अगर कोई साइट आपसे सीड फ़्रेज़ मांगती है, तो वो 100% फ़िशिंग स्कैम है। वे बस उन लोगों को लूट रहे हैं जो इस बग का शिकार होने से बच गए।
4. स्टेप-बाय-स्टेप गाइड: अपने फंड्स को सेफ़ जगह कैसे बचाएँ
बॉस, मैं इस बात पर जितना ज़ोर दूँ कम है।
सिर्फ़ फर्मवेयर अपडेट कर लेना काफ़ी नहीं है!
फर्मवेयर अपडेट करने से आगे के लिए जनरेटर तो ठीक हो जाएगा, लेकिन आपका मौजूदा सीड फ़्रेज़ एक्सप्लॉइट बॉट्स के लिए गणितीय रूप से पहले ही प्रेडिक्टेबल हो चुका है। आपका पहला काम यह है कि तुरंत अपने सारे BTC एक बिल्कुल नए (NEW) एड्रेस पर ट्रांसफ़र करें।
स्टेप 1: फर्मवेयर अपडेट करें (सेफ़ पैच इंस्टॉल करें)
- लेटेस्ट फर्मवेयर वर्ज़न (Mk4/Q के लिए कम से कम v5.3.0X या उससे ऊपर) केवल और केवल ऑफिशियल साइट
coinkite.com/downloadsसे ही डाउनलोड करें। - फ़ाइल की PGP सिग्नेचर ज़रूर चेक करें! (इसकी गाइड Coinkite के ऑफिशियल ब्लॉग पर मिल जाएगी)।
- .dfu या .bin फ़ाइल को MicroSD कार्ड में सेव करें, उसे Coldcard में डालें और
Advanced -> Upgrade Firmwareपर जाएँ।
स्टेप 2: नया सीड जनरेट करें (सिर्फ़ Dice Roll के ज़रिए!)
अब दोबारा ऑटो-जनरेटर पर भरोसा मत करना, भले ही वो पैच हो चुका हो। एकदम प्रॉपर और सॉलिड तरीका अपनाएँ:
New Seed Words -> 24 Wordsसिलेक्ट करें।4नंबर का बटन दबाएँ (इससे डाइस रोल एंट्री मोड ओपन हो जाएगा)।- एक असली कैसिनो डाइस (पासा) लें और कम से कम 100 बार (या कम से कम 50 बार) रोल करें। हर बार जो नंबर आए, उसे ईमानदारी से एंटर करें। इससे आपको असली और अनप्रेडिक्टेबल एंट्रॉपी मिलती है।
- इन नए 24 शब्दों को कागज़ या मेटल प्लेट पर लिख लें। अगर यह खो गया, तो मैं भी आपकी कोई मदद नहीं कर पाऊँगा।
स्टेप 3: फ़ंड्स ट्रांसफ़र करें (रेस्क्यू ट्रांजेक्शन)
अब आपको अपने पुराने (खतरनाक) सीड से कॉइन्स निकालकर स्टेप 2 में बनाए गए नए एड्रेस पर भेजने हैं।
यहाँ समय की असली बाज़ी शुरू होती है। हैकर्स के बॉट्स 24/7 मेमपूल (mempool) पर नज़र गड़ाए बैठे हैं। अगर आपने कम फ़ीस के साथ ट्रांजेक्शन भेजा और वो अटक गया, तो बॉट RBF (Replace-By-Fee) का फ़ायदा उठाकर ज़्यादा फ़ीस देकर आपके फ़ंड्स बीच में ही उड़ा लेगा।
स्टेप 4: फ़ीस कैलकुलेशन और RBF का ध्यान रखना
फ़ीस देने में कतई कंजूसी न करें। mempool.space पर जाएँ, करंट High Priority fee चेक करें और उसे 1.5 से 2 गुना करके सेट करें। आपका ट्रांसफ़र हर हाल में अगले यानी सबसे पहले ब्लॉक में कन्फ़र्म होना चाहिए।
5. टेक्निकल ब्रेकडाउन: आखिर यह हैक हुआ कैसे?
अरे यार, एक सिक्योरिटी एक्सपर्ट होने के नाते मैं आज भी इस बात से सदमे में हूँ कि यह बग कितना बचकाना था। यह इस बात का क्लासिक एग्जांपल है कि कैसे C/MicroPython में कोड की सिर्फ एक छोटी सी लाइन या एक भूला हुआ `#define` अरबों डॉलर के सिस्टम को चुटकियों में धड़ाम कर सकता है।
चलिए जरा हुड के नीचे झांकते हैं और इस महा-ब्लंडर की क्रिप्टोग्राफिक एनाटॉमी को समझते हैं।
बग की असली जड़: एंट्रॉपी (Entropy) कहाँ गायब हो गई?
Coldcard का ऑपरेटिंग सिस्टम कस्टम MicroPython पर बना है। नॉर्मल कंडीशन्स में, जब डिवाइस एक नया म्नेमोनिक फ्रेज (BIP-39) जनरेट करता है, तो इसे दो इंडिपेंडेंट हार्डवेयर सिक्योरिटी चिप्स (Secure Elements) और STM32 माइक्रोकंट्रोलर के इन-बिल्ट जनरेटर से डायरेक्ट ट्रूली रैंडम डेटा (TRNG - True Random Number Generator) उठाना चाहिए।
लेकिन मार्च 2021 में, सोर्स कोड के रिफैक्टरिंग और बेसिक MicroPython लाइब्रेरी के अपडेट के दौरान, डेवलपर्स से गलती से हार्डवेयर जनरेटर का इनिशियलाइजेशन ओवरराइट हो गया। बिल्डर की कॉन्फ़िगरेशन फ़ाइल में एक फ्लैग गलती से रीसेट या गलत ओवरराइड हो गया था:
#define MICROPY_HW_ENABLE_RNG (0) // ध्यान दें: यह (1) होना चाहिए था!फिर आगे क्या हुआ?
जब यूजर ने "Generate New Wallet" पर क्लिक किया, तो फ़र्मवेयर ने सिस्टम एंट्रॉपी की रिक्वेस्ट भेजी।
फ्लैग 0 होने की वजह से, TRNG का हार्डवेयर ड्राइवर ठीक से इनिशियलाइज ही नहीं हुआ।
सिस्टम ने कोई एरर भी थ्रो नहीं किया (क्योंकि फॉलबैक मैकेनिज्म ने कॉल को इंटरसेप्ट कर लिया), बल्कि उसने एक सूडोरैंडम जनरेटर (PRNG) से सैंपल लेना शुरू कर दिया, जो कि एक फिक्स्ड या बेहद प्रेडिक्टेबल सीड से इनिशियलाइज्ड था—जैसे कि मिलीसेकंड प्रिसिजन वाला सिस्टम टाइमर या पावर-रीसेट के बाद की कांस्टेंट रजिस्टर वैल्यू!
सरल शब्दों में कहें तो: चिप के फिजिकल नॉइज़ से 256-बिट की एब्सोल्यूट रैंडमनेस खींचने के बजाय, वॉलेट एक ऐसी सीक्वेंस से "रैंडमनेस" जनरेट कर रहा था जहाँ वेरिएबिलिटी सिर्फ 216 से 232 पॉसिबल स्टेट्स तक ही सीमित थी।
एक आम इंसान के लिए 232 कॉम्बिनेशन्स बहुत बड़ा नंबर लगता है (लगभग 4.2 अरब)। लेकिन आज के मॉडर्न GPU या किसी डेडिकेटेड क्रैकिंग फार्म के लिए—यह सिर्फ 15 सेकंड का काम है!
हैकरों ने कीज़ (Keys) को दोबारा कैसे री-क्रिएट किया?
अटैकर्स को हर एक डिवाइस को फिजिकली हैक करने की ज़रूरत भी नहीं पड़ी।
उन्होंने बस टाइमस्टैम्प की रेंज और फ़र्मवेयर वर्ज़न्स को एनालाइज़ किया, PRNG स्टेट की प्रेडिक्शन एल्गोरिदम तैयार की, और वे सभी 12/24 शब्दों के कॉम्बिनेशन्स जनरेट कर लिए जो Coldcard का वो वल्नरेबल वर्ज़न गणितीय रूप से (MATHEMATICALLY) आउटपुट दे सकता था।
इसके बाद तो बस स्क्रिप्ट चलाने का खेल था:
- हैकरों ने सभी प्रेडिक्टेड सीड फ्रेज के लिए पब्लिक एड्रेस की एक टेबल तैयार की (Native SegWit के लिए
m/84'/0'/0'/0/xऔर Taproot के लिएm/86'/0'/0'/0/xडेरिवेशन्स पाथ)। - पूरी Bitcoin ब्लॉकचेन हिस्ट्री (UTXO set) को स्कैन करने के लिए बॉट लगा दिए।
- जैसे ही एड्रेस का मिलान असली बैलेंस से हुआ, ऑटोमेटेड प्राइवेट कीज़ जनरेट हुईं और वॉलेट्स को खाली कर दिया गया।
इसी वजह से यह अटैक लहरों (waves) में हो रहा है। पहली लहर में सबसे आसान और डायरेक्ट जनरेशन रेंज वाले वॉलेट्स साफ किए गए। दूसरी और तीसरी लहर में हैकरों ने कम संभावना वाले टाइम-शिफ्ट और बाकी डेरिवेशन पाथ्स (जैसे मल्टीसिग स्ट्रक्चर और नॉन-स्टैंडर्ड अकाउंट्स) पर ब्रूटफ़ोर्स बढ़ा दिया।
दोस्तों, इस पूरी कहानी का सबसे बड़ा सबक यही है—कभी भी 100% किसी एक एंट्रॉपी सोर्स पर भरोसा न करें, भले ही वह किसी टॉप-टियर ब्रांड का नामी हार्डवेयर वॉलेट ही क्यों न हो।
दो "न भूलने वाले" नियम याद रखें:
- यूजर एंट्रॉपी जोड़े बिना खुद से कीज़ जनरेट करने की ऑटोमैटिक प्रोसेस का इस्तेमाल कभी न करें (Dice Roll यानी पासा फेंकना हमारा सबसे अच्छा दोस्त है)।
- फ़र्मवेयर अपडेट्स को टालना बंद करें, लेकिन अपडेट करने से पहले हमेशा रिलीज़ की PGP-सिग्नेचर्स ज़रूर वेरीफाई करें।
अपने सतोशी (Sats) को सेफ़ रखें, एड्रेस डबल-चेक करें और अगर आप रिस्क ज़ोन में हैं तो तुरंत अपने फ़ंड्स को safe जगह मूव करें।