19 comments

[ 0.20 ms ] story [ 13.6 ms ] thread
Spot the bug!

  #define MICROPY_HW_ENABLE_RNG (0)
  [...]
  #ifndef MICROPY_HW_ENABLE_RNG
  #error "get a HW TRNG plz"
  #endif
so there was $70 million just sitting there for five years in the open that anyone could have taken. Nuts.

Enticed by riches, hackers worldwide are now going through all firmware source code , wit the help of the latest AI models, for all wallets to find misconfigurations and other problems. Expect more thefts from low entropy bugs. AI has clearly been shown to be more more adept at auditing code than humans.

Incredible hyperbole from the Amicus guy:

"This is hugely damaging to the people who believe that 8 billion people will hold their Bitcoin in cold storage in the future," Lawrence said. "That dream is over. Done."

Sky is falling stuff. Actual cryptography experts have shown the importance (and difficulty) of random number generation for ages. Yes, if your "hardware wallet" aka computer and software is implemented poorly you will have issues.

Crypto people make fun of me for making up passwords in my head, but my brain RNG has never been exploited, nor has anyone successfully Sherlock'd my password.
Yes this has been a known problem of crypto/self custody since its inception. The 1 private key -> public key -> address is elegant but an horrible single point of failure.

When people create a wallet, the quality of the entropy and seed is always: I guess good, for now...

So far the only mitigation for that have been multi-signature but it has its own potential vulnerabilities.

My understanding is the next big Ethereum upgrade might include "Frame Transaction" [0] which will bring a "native multisig" capability to accounts so you can easily always have 2 addresses with different seeds origin to mitigate the risk.

- [0] https://forkcast.org/eips/8141/

This is really bad. This is going to set bitcoin back years.. if it ever comes back. There really is no point and no real use case for it outside of crime. Unless the whole world order collapses in which case we'll have bigger problems..
- Yes it is bad, but there have been plenty of larger scale hardships in the past decade. - No it will not set back Bitcoin years - The US dollar is used for much more crime than Bitcoin ever has been - The financial world is collapsing in front of our eyes. The US dollar is inflating 8-12% every year, and the federal government wants to raise the debt ceiling even further. If you haven't realized how Bitcoin saves you from this by this point there's no point in trying to convince you otherwise.
The AI attacks are the scary piece so now you have something that you could spend $1m on tokens and brute force compute and it is worth it, for a prize of $10m+ and one million is a lot of AI
From the Twitter advisory [1]:

>>> To every other developer: we believe this is a sober reality of the new AI paradigm. AI-assisted code review can now find latent bugs at a speed that is outpacing even the industry’s most seasoned experts. If your firmware is open-source or has ever been public, assume it's already being read by attackers and defenders alike.

Kinda turns the “many eyes” principle of OSS on its head, eh?

[1] https://x.com/nvk/status/2083216713693151552?s=61

From my perspective, the bug became shallow because the machine world extended the number of effective eyes. The aphorism applied, but just not fast enough as it took too long to get the right number of eyes.

More people would have been harmed had the bug been in production longer.

One unfortunate aspect is that responsible disclosure would have only saved some people, a responsible disclosure would have lead to a notice to migrate seeds and bad actors would have immediately realized seed generation was the root cause and would have swept many folks before they could even see the notice for themselves and get around to migrating.

> If your firmware is open-source or has ever been public, assume it's already being read by attackers and defenders alike.

You better assume the same for closed-source software too. Turns out modern models are pretty good with decompilers...

Been saying it for years, default values are a bad idea!
This article is bad because its adspam bullshit, and doesnt explain the vulnerability...

.. but this stupidest thing coinkite did was their dogshit design: Trying to inject their RNG logic into lower levels and hoping 3rd party libraries (through micropython) used them correctly... rather than just using their hardware dependencies directly. That design, and all bugs that came out of it, seems massively and avoidably stupid

There you go. Roll dice. Build your own Babbage machine to encode the wallet address.