4 ms·
This is the best technical analysis I have seen, so far. https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt https://insider.btcpp.dev/p/when-randomby
by stblack 2mo ago
This is the best technical analysis I have seen, so far.
https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt
It doesn't appear that Coinkite, the company behind ColdCard products, had a mature senior engineer in the loop. At least, no engineer who could immediately flag such sloppy code commit practices. This sort of thing is ongoing, as we can see in commits made this week, even.
Clearly seems like a corporate culture issue. A very low bar seems standard practice.
- lowbloodsugar 2mo agoMight have been the plan all along.
- soared 2mo agoDo we know how the attacker used this knowledge to access wallets? I’m not super familiar with crypto or wallets but that’s the last piece I’m missing
- deleted 2mo ago[deleted]
- wmf 2mo ago1. Generate all possible seeds. 2. For each seed, generate a few addresses using BIP-32. 3. Use a blockchain explorer API to check if those addresses have been used. 4. For each address that contains unspent coins, generate the corresponding private key (again using BIP-32) then create a transaction sending the coins to the attacker.
- oskarw85 2mo ago[dead]
- majormajor 2mo agoI guess even when code is public nobody really reads the history very thoroughly. You'd think someone would've made stink about a company willing to show the world how they were fiddling with low-level random generation stuff with commits like `x` and `runs` in the early life of the project, without much discussion of the safety of the crypto code. We hear "don't roll your own crypto!" a lot... but in a world where there are any number of products on the market, with any number of visibility to various people, open source doesn't make all bugs shallow because there aren't anywhere near enough helpful eyeballs for most project. But probably gave some people false sense of confidence.
- wmf 2mo agoA few people did call out Coinkite for poor engineering at the time but it was either not seen or dismissed as hating in the context of the Coldcard/Passport fight.
- nullc 2mo agoI disagree with the underlying cause claimed in that analysis: https://news.ycombinator.com/item?id=49141886 https://news.ycombinator.com/item?id=49141886