Flash loan attacks
Uncollateralised capital within one transaction breaks any assumption that size implies commitment.
What it is
A flash loan lends an arbitrary amount for the duration of a single transaction. Any design that assumes an attacker cannot temporarily control a large position — governance votes, spot prices, pool ratios, reward multipliers — is broken by default.
Why it matters
Governance captured for one proposal, oracles moved and restored inside a block, reward formulas gamed at scale. The attacker needs no capital of their own.
How to fix it
- Snapshot voting power at a block before the proposal, never at execution time.
- Use time-weighted prices so a single-block move does not register.
- Test every economic assumption against an attacker with unlimited single-transaction capital.
How it is detected
Every audit on EVM Smart Audit checks for SC07 and reports it as passed or flagged in the standards coverage grid — so the report tells you it was checked even when nothing was found. See the detector suite for what else runs alongside it, or the full database for the other 21 checks.
Check your contract for flash loan attacks
The engine runs this check and 21 others on every audit, and shows what passed as well as what failed.