The new OWASP Smart Contract Top 10: 2026 report dropped last week, and there’s a striking paradox that should concern everyone building in DeFi: reentrancy attacks fell from #2 to #8 in the rankings, yet we collectively lost $905.4 million across 122 smart contract incidents in 2025. ![]()
Let me be clear about what this means: reentrancy didn’t drop because we solved it. It dropped because other attack vectors have become dramatically more impactful.
Why Reentrancy Fell (But Isn’t Gone)
The defensive measures are now standard practice:
- OpenZeppelin’s
nonReentrantmodifier is near-universal - The Checks-Effects-Interactions pattern is taught in every Solidity bootcamp
- Post-Cancun,
ReentrancyGuardTransientmade protection cheaper using transient storage - Static analysis tools (Slither, Mythril) reliably catch basic reentrancy
But here’s the problem: cross-contract reentrancy is alive and well. The tools catch single-contract reentrancy. They don’t model how contracts interact across protocols.
The Real Threats: Business Logic & Flash Loans
Business Logic Vulnerabilities rose to #2 in the 2026 rankings. This reflects a fundamental shift: the costliest exploits now target protocol-level design flaws, not low-level code bugs.
Consider the Euler Finance disaster: $197 million lost, despite audits from six different firms. The vulnerability wasn’t a textbook Solidity bug—it was the interaction between donateToReserves() and the lending mechanism. A flash loan amplified a business process flaw that was invisible to code-level review.
This is the new attack surface: composition vulnerabilities. Modern exploits chain together legitimate operations across multiple protocols in ways that create economic arbitrage or drain funds.
The Audit Industry’s Blind Spot
Current audits catch 70-90% of common vulnerabilities. They’re good at finding:
- Reentrancy (obviously)
- Integer overflow/underflow
- Access control issues
- Unchecked external calls
But they struggle with:
- Economic attack vectors that emerge from protocol interactions
- Flash loan attack surfaces (contracts weren’t designed assuming unlimited temporary liquidity)
- Adversarial user behavior under extreme market conditions
- Governance manipulation through legitimate vote buying
Traditional audits optimize for Solidity syntax correctness. Flash loan attacks and business logic exploits require understanding game theory, mechanism design, and DeFi composability.
Are We Fighting Yesterday’s War?
Here’s my controversial take: we need to fundamentally rethink what a security audit means in 2026.
Instead of just code review, audits should include:
- Adversarial economic modeling: What happens if an attacker has unlimited capital for 1 block? (That’s what flash loans provide)
- Cross-protocol simulation: How does this contract behave when interacting with other DeFi primitives?
- Mechanism design review: Are the economic incentives aligned or exploitable?
- Formal verification of critical invariants: Not just “does the code match the spec” but “are the invariants economically sound?”
The OWASP 2026 report makes one thing clear: attacks now exploit the composition of secure components. Each contract might be individually secure, yet the system fails under adversarial interaction.
Question to the Community
Should security audits shift from code-level review to adversarial economic modeling? And if so, how do we train auditors who are part economists, part hackers, part cryptographers?
Reentrancy falling to #8 isn’t a victory. It’s a warning that our threat models are outdated. ![]()
Sources: