Many DeFi smart contracts can withdraw unlimited amounts of money from user wallets, potentially spelling disaster.