My question is still open.
Cryptographically secure random numbers are used in a wide variety of computer security systems. It really isn't rocket science to do it correctly. The developers in question simply didn't do their job correctly. If you'd like to be even more stringent, there are several deterministic wallet solutions that use real-world (physical) entropy for the random seed.
Yea. Wee still passing the buck, though. "Developed weren't strungent". YaDa yada yada. Point being that random numbers are only as random as the computer has random inputs; virtual machines are terrible entropy wise.
Yes, implemented correctly, Bitcoin is very strong. But an attaxker wnt attack the strongest point, they'll attack the weakest; I'd wager that any implementation running on a VM is going to have a lot more potential vulnerabilities, whether it's memory dumps or recreating the pool of entropy sources in order to "back into" the private keys.
That goes for services running in VM's, VMs that people create as pseudo cold storage devices or even (and ill have to read up more) keys generated on Tails live Cd's now that electrum is included.
It's easy to look at the reference white papers and say "implemented correctly, Bitcoin is as close to 100% secure as is possible", but know that no attacker will attack the strongest point. We need to review examine and discuss all of the weakest links and see how vulnerable those point are, and bring those to peoples attention so they know to avoid those.
The android RNG flaw for example; everyone assumed that Googke wouldn't release shoddy code like that, so android was trusted, people only looked above that later, it was inly after a lot of coins went missing that people realized that the platform itself was the problem.