When random.bytes() runs but doesn't work
- Security
- Cryptocurrency
- Embedded Systems
- Programming
The post looks at a firmware flaw in Coldcard hardware wallets where code intended to supply secure random bytes could run without ever reaching the STM32 hardware true random number generator. In plain terms, wallet seed generation could silently fall back to much weaker pseudo-randomness, which is catastrophic in a device whose whole job is protecting private keys. The article framed this as a lesson in sloppy engineering around a huge commit with the message "runs", weak review culture, and overconfidence in embedded code that mixes MicroPython and C.
If you ship security-critical code, treat entropy paths as a first-class attack surface and test them by breaking dependencies on purpose, not by eyeballing output. Also audit the compiled binary, not just source, because a dead hardware RNG path can vanish cleanly while the product still appears to work.
-
insider.btcpp.dev
- Discuss on HN