The OWASP Smart Contract Top 10: 2026 rankings just dropped, and the shift in our threat landscape should make every protocol team pause their next deployment.
Business Logic Vulnerabilities climbed to #2. Reentrancy Attacks fell from #2 to #8.
After analyzing 122 deduplicated incidents from 2025 representing $905.4M in smart contract losses, OWASP’s data tells a clear story: we’ve gotten better at defending against known attack patterns, but we’re losing ground on protocol-specific economic exploits.
The Numbers Don’t Lie
Business Logic flaws accounted for $63.8M in documented losses—but that’s not the full picture. The three largest exploits of 2025 were all fundamentally business logic failures:
- Bybit ($1.4B): CI/CD pipeline compromise leading to multisig wallet drain
- Cetus ($223M): Math library overflow in integer-mate’s checked_shlw function
- Balancer V2 ($128M): Rounding error in composable stable pool math
Meanwhile, Reentrancy Attacks—which dominated our nightmares for years—dropped to $35.7M in losses and fell to position #8.
Why the Shift?
The decline in reentrancy exploits isn’t because the vulnerability disappeared. It’s because our defenses improved dramatically:
OpenZeppelin’s nonReentrant modifier is now near-universal
The Checks-Effects-Interactions pattern is drilled into every Solidity bootcamp
Post-Cancun, ReentrancyGuardTransient made protection cheaper (transient storage = lower gas)
Static analysis tools (Slither, Mythril, Semgrep) catch basic reentrancy reliably
Automated tools now detect ~90% of known vulnerability patterns. That’s a genuine security win we should celebrate.
But Here’s the Problem
Automated tools can’t catch business logic exploits.
Business logic vulnerabilities aren’t about writing unsafe Solidity. They’re about designing economically unsound protocols. Consider the Cetus exploit: the integer-mate library had mathematically correct overflow checks, but edge cases in liquidity position calculations allowed an attacker to credit themselves massive value for near-zero deposits.
The code “did what it said.” The problem was what it said permitted exploitation.
Similarly, Balancer’s rounding-error bug wasn’t a coding mistake—it was a math modeling failure. By pushing pool balances into an 8-9 Wei range, attackers triggered integer division that dropped 10% of value through rounding. Over 65 micro-swaps in a single transaction, they extracted $128M.
The TradFi Parallel
This reminds me of traditional financial auditing failures. Enron’s accounting complied with GAAP. WorldCom passed audits. FTX had clean books—right up until the fraud revelations.
Code correctness doesn’t guarantee economic soundness.
An audit that confirms your Solidity follows best practices is valuable—but it doesn’t prove your protocol can’t be economically exploited through flash loans, oracle manipulation, governance attacks, or incentive misalignment.
OWASP’s New Category: A Warning Sign
The 2026 rankings introduced a new category: SC10 - Proxy & Upgradeability Vulnerabilities. This signals that insecure upgrade patterns are emerging as a critical attack surface.
Combined with business logic’s climb to #2, the message is clear: attackers are moving up the stack. They’re not hunting for call() vs transfer() mistakes anymore. They’re analyzing your protocol’s game theory, modeling edge cases, and waiting for the perfect economic conditions to strike.
What Should We Do Differently?
I’m not suggesting we abandon traditional security audits. Catching reentrancy, overflow, and access control bugs remains essential. The decline in reentrancy incidents proves that education, tooling, and best practices work.
But we need to acknowledge that traditional audits provide incomplete security assurance. They verify code correctness, not economic resilience.
Here’s what I think needs to change:
-
Economic Security Audits: Separate from code reviews. Focus on game theory, incentive structures, and attack simulations.
-
Formal Verification of Invariants: Not just proving code matches spec, but verifying economic invariants hold under adversarial conditions.
-
Adversarial Stress Testing: Simulate flash loan attacks, oracle manipulation, and multi-transaction exploits before mainnet.
-
Transparent Threat Modeling: Protocols should publish their threat models and assumptions, not just audit reports.
-
Bug Bounty Programs: Given that business logic flaws require human creativity to find, incentivize security researchers to think like attackers.
The Question for Our Community
Are traditional smart contract audits solving yesterday’s problems while missing today’s threats?
When institutional investors require “audit reports” before listing, are we creating a false sense of security? When developers see “Audited by [Firm Name]” and assume safety, are we setting them up for failure?
Security is not a feature, it’s a process. The OWASP 2026 rankings are a wake-up call: we need to evolve our security practices as fast as attackers evolve their techniques.
What do you think? Should protocols invest more in economic modeling and game theory analysis? How do we train the next generation of auditors to catch business logic flaws?
Trust but verify, then verify again—especially your assumptions about economic behavior.
Sources: