In an ERC-4626-style vault, the first depositor mints 1 wei of shares then 'donates' a large amount of the underlying directly to the vault, inflating share price so subsequent depositors' deposits round down to zero shares and are effectively stolen.
// OZ ERC4626 with decimals offset (virtual shares) mitigates inflation: constructor() ERC4626(asset) { } // override _decimalsOffset() to >0 // or mint dead shares to address(0) on first deposit / enforce min deposit
Largest recorded losses in the same failure class — related, not the same bug:
The SaferICO scanner runs 201 detectors over your Solidity source, SAFE-0019 among them. Paste an address or the source itself — a small per-scan fee, shown before you sign, or unlimited on any plan.