Ang Bitcoin developer na si Luke Dashjr noong Nobyembre 9 ay listahan ang siyam na mga pag-aalala tungkol sa code ng random-number-generation sa Coldcard hardware wallet ng Coinkite, sinasabing naunang isinampa niya ang mga ito sa kompanya nang pribado.
“Hindi ko sinasabing lahat ng ito ay maaaring gamitin bilang sandata, o tiyak na lahat ay mga bug,” isinulat ni Dashjr sa niyong paglalahad. Sinabi niya na hindi niya alam kung nakapag-fix na ang Coinkite sa mga ito at ilarawan niya ang kanyang pagsusuri bilang mabilis na tingin, hindi isang buong audit.
Ang kanyang thread ay naglalakip sa isang July firmware revision. Ang mga susunod na release notes at publikong source ng Coinkite ay nagpapakita ng mga pagbabago na tumutugon sa ilan sa mga lugar na itinayo niya, kabilang ang chip seed-error checks at isang startup test ng hardware RNG path.
https://x.com/i/status/2119836060306018364
Sumusunod sa pagpapahayag ang July seed-generation incident ng Coldcard. Sabi ng Coinkite, ginamit ng mga attacker ang mga nagsawaing seed ng wallet sa pamamagitan ng pagregenerate ng mga private key nang offline at pagkuha ng pera, nang hindi nakakontak nang malayo sa mga device.
Ang numerong mga post ni Dashjr ay nag-udyok ng mga pag-aalala tungkol sa code na ginamit pagkatapos ng mas maagang pag-aayos:
Ipinagtanong niya kung dapat itanggal ang mga unang random na sample sa pag-start, binanggit ang kakulangan ng pag-check sa chip seed- at clock-error, at sinabi niya na ang manual ng chip ay nangangailangan ng post-processing para sa mga kriptograpikong aplikasyon.
Sinabi niya na ang mga pagsusuri sa paulit-ulit na output ay nakapapatong sa buffered reads ngunit hindi sa direkta mga tawag, at ipinaglaban niya na ang mas mababang antas na routine para sa pagdetekta ng error ay hindi pa sapat na ipinakita nang mag-isa.
Kanyang itinanong kung bakit hindi nagpanatili ang secure-element randomness ang inaasahang lakas, inihikayat ang pagsusuri ng buong bagong pinagana RNG path, at hingi ang pag-check sa device kaysa mag-asa lamang sa mga pag-iingat sa panahon ng pagbuo.
Binarilang niya na ang isang timeout na handled sa isang konteksto na hindi makakapag-proseso nang ligtas ng isang Python exception ay maaaring magdulot ng undefined behavior, na maaaring magpapahinto sa isang device o mag-iwan nito sa hindi gamit.
Sinabi ni Dashjr na nagpahayag siya pagkatapos marinig na sinasabi ni NVK na hindi kayang hanapin ng mga tao ang defect ng Coldcard. Sa mas maagang bahagi ng araw na iyon, ang CEO ng Coinkite, Rodolfo Novak, kilala bilang NVK, ay sumulat na “kailangan ng isang bagong AI model upang makahanap ng kung ano’y hindi kayang makita ng mga tao.” Ang post ni Novak ay tumutok sa pagkakatuklas ng mas maagang defect sa seed-generation; ang teknikal na thread ni Dashjr ay tumatalakay sa code pagkatapos ng pagpapabuti.
Idinagdag ang mas huling firmware ang mga pag-check ng RNG
Ang download page ni Coinkite ay listahan ang 5.6.3 bilang kasalukuyang standard firmware para sa Mk4/Mk5 at 1.5.3Q para sa Q. Ang release history nito ay nagtatakda ng pagdagdag ng seed-error detection at hardware-RNG startup self-test sa bersyon 5.6.1, na inilabas noong Aug. 20.
Ang na-publish na Mk4 source para sa 5.6.3 ay nagtatanggal ng warm-up samples, nag-check ng seed-error flags, nagreretry ng mga pagkabigo, at sinusubok kung nakakarating ang mga tawag sa hardware random-number generator. Sinasabi rin ng release notes na parehong secure elements ay ngayon ay sinusampahan diretso para sa bawat bagong master seed, kesa sa pagkontribuho lamang sa pamamagitan ng boot-time RNG seeding.
Ang kasalukuyang source ay nananatili sa pagpapakita ng pagsusuri sa paulit-ulit na output sa buffered-read routine kaysa sa bawat direkta na tawag. Ang mga komento nito ay nagsasabi na ang mga flag ng clock-error ay deliberately na iniwan, batay sa dokumentasyon ng chip na ang mga error na iyon ay hindi nagpapabagabag sa mga nilikhang numero.
Para sa mga user na apektado ng insidente noong Hulyo, ang patuloy na gabay ng Coinkite ay nananatili na ang pag-update ng firmware ay hindi nagpapabuti ng umiiral nang mahina na seed. Dapat sundin ng mga user ang gabay nito para sa paglipat, maliban kung ang exception ng independent-dice ng abiso ay sumasaklaw.



