Roadmap
UnluKey is steadily expanding its coverage of known weak-randomness wallet vulnerabilities — this roadmap tracks what's already live and what's coming next.
A weak-randomness vulnerability in CryptoJS caused affected wallet applications to generate BIP39 recovery phrases with significantly reduced entropy, allowing attackers to discover vulnerable recovery phrases and drain funds.
View dataset scopeA weak-randomness vulnerability in Coldcard firmware caused recovery phrases to be generated using a software PRNG instead of the hardware RNG, reducing their effective entropy and allowing attackers to discover vulnerable recovery phrases and drain funds.
View dataset scopeA weak-randomness vulnerability (CVE-2023-39910) in Libbitcoin Explorer (bx seed): mnemonics were generated from a 32-bit Mersenne Twister seeded by system time, making the seeds enumerable and the wallets predictable.
Randstorm is a weak-randomness vulnerability in the JSBN SecureRandom() implementation used by BitcoinJS (through March 2014) and derivative wallets like Blockchain.info: a type error in a comparison silently skipped the secure entropy source, falling back to a low-entropy Math.random() seed and leaving wallets generated between 2011-2015 predictable.
A weak-randomness vulnerability in the Trust Wallet browser extension: its underlying Trust Wallet Core Wasm build seeded a 32-bit Mersenne Twister (mt19937) to generate wallet entropy, collapsing the effective search space to only 2^32 possible wallets and letting attackers enumerate every wallet the extension ever created.
A weak-randomness vulnerability (CVE-2024-23660) in the 2018 iOS version of Trust Wallet: wallet entropy was generated with unsafe test-only functions from the trezor-crypto library, seeding a 31-bit LCG16807 (MINSTD_RAND0) PRNG with the Unix timestamp, making wallets from that period enumerable.