Milk Sad: /home

3 min read Original article ↗

We’re a small team of security researchers looking into the practical problems of weak private keys in popular cryptocurrencies. Our primary focus are keys generated with weak entropy.

Libbitcoin Explorer CVE-2023-39910

Our initial group formed in July 2023 to follow up on mysterious wallet thefts.

  • In 2023, we discovered that the Libbitcoin Explorer (bx) cryptocurrency wallet tool has a flawed entropy generation for new wallets.
  • On vulnerable 3.x versions, bx seed used the weak Mersenne Twister pseudorandom number generator (PRNG) to produce cryptographic key material, which is a critical design error.
  • Attackers had used this fatal flaw, and others like it in other wallet software, to steal large amounts of funds from victims on 12 July 2023 in ways that would otherwise be impossible.

Read on:

Current Research

After investigating CVE-2023-39910, a smaller team continued to look into other PRNG weaknesses. Interestingly, we found that the July 2023 theft involved more than one PRNG vulnerability.

Head over to the research updates section for everything that happened after August 2023.

Some highlights:

As part of this continued effort, we publish research data to help other researchers identify thefts and attackers on-chain. Our collection contains over 300k cryptocurrency addresses of weak wallets.

Ethics

  • Milk Sad research rule: we do not withdraw funds from cryptocurrency wallets that aren’t ours.
  • As researchers, we’re mainly trying to shine a light at what happened, hoping to help avoid future disasters through more public awareness of the dangerous software flaws that caused them.

Why the silly “Milk Sad” name?

Running the vulnerable bx seed command with a system time of 0.0 always generates the following BIP39 secret:

milk sad wage cup reward umbrella raven visa give list decorate bulb gold raise twenty fly manual stand float super gentle climb fold park

Original 2023 Team & Credits

Relevant Design Patterns

CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)