Pengembang bitcoin Luke Dashjr pada 9 November secara terbuka mencantumkan sembilan kekhawatiran tentang kode generasi angka acak di dompet perangkat keras Coinkite's Coldcard, mengatakan ia sebelumnya telah melaporkannya kepada perusahaan secara pribadi.
"Saya tidak mengklaim bahwa semua ini dapat dijadikan senjata, atau bahwa semuanya pasti merupakan bug," tulis Dashjr dalam pengungkapannya. Ia mengatakan tidak mengetahui apakah Coinkite telah memperbaikinya dan menggambarkan tinjauannya sebagai sekilas, bukan audit menyeluruh.
Thread-nya mengarah ke revisi firmware Juli. Catatan rilis selanjutnya dari Coinkite dan sumber yang dipublikasikan menunjukkan perubahan yang menangani beberapa area yang ia angkat, termasuk pemeriksaan kesalahan benih chip dan uji startup pada jalur RNG perangkat keras.
https://x.com/i/status/2119836060306018364
Pengungkapan ini mengikuti insiden generasi benih Coldcard pada Juli. Coinkite mengatakan para penyerang memanfaatkan benih dompet yang melemah dengan menghasilkan ulang kunci pribadi secara offline dan mencuri dana, tanpa mengakses perangkat dari jarak jauh.
Pos yang dinomori oleh Dashjr numbered posts menimbulkan kekhawatiran tentang kode yang digunakan setelah perbaikan sebelumnya:
Dia mempertanyakan apakah sampel acak awal harus dibuang saat startup, menyebutkan tidak adanya pemeriksaan benih chip dan kesalahan jam, serta mengatakan bahwa manual chip memerlukan pemrosesan lanjutan untuk aplikasi kriptografi.
Dia mengatakan bahwa pemeriksaan output berulang diterapkan pada pembacaan yang dibuffer tetapi tidak pada panggilan langsung, dan berargumen bahwa rutin deteksi kesalahan tingkat lebih rendah belum ditunjukkan cukup mandiri.
Dia mempertanyakan mengapa kerandoman secure-element tidak mempertahankan kekuatan yang diharapkan, mendesak pengujian penuh terhadap jalur RNG yang baru diaktifkan, dan menyerukan pemeriksaan di perangkat daripada hanya mengandalkan perlindungan pada saat build.
Dia memperingatkan bahwa timeout yang ditangani dalam konteks yang tidak dapat memproses pengecualian Python dengan aman dapat menyebabkan perilaku tak terdefinisi, berpotensi menyebabkan perangkat macet atau menjadi tidak dapat digunakan.
Dashjr mengatakan ia mempublikasikannya setelah mendengar bahwa NVK mengklaim manusia tidak dapat menemukan kelemahan Coldcard. Pada hari yang sama, CEO Coinkite Rodolfo Novak, dikenal sebagai NVK, menulis bahwa “diperlukan model AI baru untuk menemukan apa yang tidak bisa ditemukan manusia.” Postingan Novak berkaitan dengan penemuan kelemahan generasi seed sebelumnya; thread teknis Dashjr membahas kode setelah perbaikan.
Firmware Selanjutnya Menambahkan Pemeriksaan RNG
Halaman unduhan Coinkite mencantumkan 5.6.3 sebagai firmware standar saat ini untuk Mk4/Mk5 dan 1.5.3Q untuk Q. riwayat rilis menunjukkan bahwa penambahan deteksi kesalahan seed dan uji mandiri hardware-RNG saat startup dimasukkan pada versi 5.6.1, yang dirilis pada 20 Agustus.
Source Mk4 yang diterbitkan untuk 5.6.3 mengabaikan sampel pemanasan, memeriksa flag kesalahan benih, mencoba ulang kegagalan, dan menguji apakah panggilan mencapai generator angka acak perangkat keras. Catatan rilis juga menyatakan bahwa kedua elemen aman sekarang diambil sampelnya secara langsung untuk setiap benih utama baru, bukan hanya berkontribusi melalui inisialisasi RNG saat boot.
Sumber saat ini masih menempatkan pemeriksaan output berulangnya dalam rutin pembacaan yang dibuffer, bukan pada setiap panggilan langsung. Komentarnya menyatakan bahwa flag kesalahan jam sengaja diabaikan, dengan mengutip dokumentasi chip bahwa kesalahan tersebut tidak melemahkan angka yang dihasilkan.
Untuk pengguna yang terdampak insiden Juli, petunjuk tetap Coinkite tetap menyatakan bahwa pembaruan firmware tidak memperbaiki benih yang sudah melemah. Pengguna tersebut harus mengikuti petunjuk migrasinya, kecuali pengecualian dadu independen dari peringatan tersebut berlaku.



