https://www.finder.com.au/researchers-find-3686-dangerously-broken-ethereum-contracts
The system they used to uncover these errors was also able to uncover the famous Parity bug which recently locked away about $160 million at-the-time-worth of Ether forever, in one of history's more expensive programming errors.
The researchers divided the flawed contracts into three rough categories and gave each one a vaguely poetic name.
Prodigal contracts – A contract which can be robbed and manipulated to carelessly release Ether to another address, such as in the DAO attack.
Suicidal contracts – A contract which can be killed by an outside attacker.
Greedy contracts – A contract which can be manipulated to lock away the Ether held.
Systems will frequently depend on multiple contracts, so incidents will often involve more than one of these. For example, the Parity library contract was suicidal, while the its wallet contracts were greedy.