This is so bad that it's hard to think that this wasn't intentional:
TLDR; not only did libbitcoin explorer use an insecure Random Number Generator (one whose state can be predicted by sampling a few hundred outputs), but it was seeded with only 32 bits of entropy from system time.
For reference you need at least 128 bits of entropy for a "secure" wallet.
32 bits of entropy on the other hand is only around 4 billion different possible seed phrases. It'd take your average computer just about a day or two to go through all the possible phrases generated by this library.
I thought people who were rolling dice or flipping coins 256 times was overkill but now I'm not so sure if this is the state of some of the seed phrase generators out there
Awarded if the Hardware Wallet uses multiple unpredictable physical processes to generate the seed such as a True Random Number Generator (TRNG), sensors, dice rolls or camera images.
"What the hell !? A bad PRNG algorithm, seeded with only 32 bit of system time, used to generate long-lived wallet private keys that store cryptocurrency? 😧"
One small point of correction: a paraphrase takes a seed and generates a new paraphrase. Someone can always generate a random seed and have it be equal to your seed + paraphrase (however small that chance is). Having a paraphrase doesn’t protect you from that.
If you're doing single sig, yeah definitely use a passphrase. The passphrase is essentially an additional seed word... You just have to make sure you don't lose it, because if you do, you've lost your funds. It's not a great solution for long term storage IMO.
Multisig eliminates the need for a passphrase for a couple of reasons:
1 - you need to know which wallets are connected to withdraw from, so even if you were able to predict seed phrases, you'd still have your work cut out for you trying to find multisig wallets
2 - you wouldn't know if you found a multisig wallet or not, and can't withdraw without the xpubs anyway
That's way more complicated for the attacker, and it's way more difficult for the user to lose their funds.
bx
exploited above is open source software.