Sa madaling sabi

  • Sinabi ng Coinkite na dahil sa pagkakamali sa build, ang mga seed sa Coldcard hardware wallets nito ay nakuha mula sa software fallback sa halip na sa hardware generator.
  • Naniniwala itong ginamit ng isang attacker ang AI sa open-source code nito. Sabi ng kumpanya, ang sariling AI review nito ilang linggo bago mangyari ang insidente ay walang nakita.
  • Apektado sa ilang antas ang bawat kasalukuyang modelo, at ang pag-update ng firmware ay hindi magrerepair ng seed na nabuo na.

Naniniwala ang Coinkite na gumamit ng AI ang isang attacker para hanapin ang flaw na nagdulot ng nawawalang Bitcoin na nagkakahalaga ng sampung milyong dolyar mula sa mga may-ari ng Coldcard hardware wallets nito, at sinasabing walang nakita ang sariling AI review ng parehong code ilang linggo bago nangyari. 

Naglabas ang hardware wallet manufacturer ng advisory para sa Mk3 at isang technical breakdown noong Huwebes, matapos matuklasang mas madaling hulaan kaysa sa inaasahan ang mga seed na nagawa ng kanilang mga device.

Ang mga losses dahil sa flaw, na na-exploit noong maagang bahagi ng Biyernes, aytinatayang 594 BTC, humigit-kumulang $38 million. Ang pondo ay ninakaw mula sa halos 500 wallets sa loob ng 25 minuto, kung saan ang 562 BTC ay pinagsama na sa isangsolong address.

Sinabi ng Coinkite na kailangan nitong ipalagay na "may gumamit ng AI para i-review ang mga lumang bersyon ng firmware namin" upang tuklasin ang flaw. Ayon sa kumpanya, ipinatakbo nito ang isa sa pinakamagaling na available na modelo sa sariling code ilang linggo na ang nakalipas, pero ang modelo ay "hindi nakita ang bug na ito o anumang seryosong isyu." Pareho lang daw ang tools ng attackers at defenders, pero sa pagkakataong ito, "hindi ito nakatulong sa amin, at tanging sa masamang loob ito nakatulong."

Ano ang nangyari

Ang firmware ng Coldcard ay tumatawag ng function para kumuha ng randomness, at may dalawang implementasyon nito sa codebase na may parehong signature: ang hardware generator na ginawa ng Coinkite, at ang software fallback na minana mula sa MicroPython. Sinuri ng preprocessor guard kung ang isang setting ay defined, ngunit hindi ang value nito, kaya natapos ang build gamit ang fallback nang walang aberya. Ang pagbuo ng seed ay ginagamit iyon simula pa noong migration noong Marso 2021.

Apektado sa ilang antas ang bawat kasalukuyang modelo. Tinatayang ng Coinkite na ang effective search space para sa Mk3 seed ay mga 40 bits lamang, kumpara sa 128 bits na dapat na mayroon. Ang karagdagang entropy mula sa mga secure element ng Mk4, Q at Mk5 ay nagpapataas ng bits nito sa humigit-kumulang 72, na sinasabi ng kumpanya ay malaki ang pag-asenso pero hindi pa rin sapat. Tapsigner, Opendime at Satscard ay gumagamit ng ibang code at hindi apektado.

Ano ang dapat gawin ng mga may-ari

Naglabas ang Coinkite ng emergency hotfix, version 5.6.0 para sa Mk4 at Mk5 at 1.5.0Q para sa Q. Ang pag-update ng firmware ay hindi mag-aayos ng seed na nabuo na sa apektadong firmware. Kailangan ng mga may-ari ng bagong seed na ginawa sa patched hardware, at nirerekomenda ng kumpanya ang malakas na BIP-39 passphrase, hindi bababa sa 99 dice rolls, o pareho. Ang mga may-ari ng Mk3, na wala nang suporta ang model, ay inirekomenda sa hiwalay na migration path.