The Audit Paradox: 91.96% of Hacked Smart Contracts Were Audited
AnChain.ai, Olympix, and Halborn data show audited contracts get hacked nearly as often as unaudited ones. Euler had 10 audits from 6 firms before losing $197M. Audits are necessary, but a strategy needs more.
TL;DR
- 91.96% of hacked smart contracts had been audited at the time of the exploit (AnChain.ai).
- 70% of major 2024 exploits targeted contracts that already had audit reports (Olympix).
- Audited protocols accounted for only 10.8% of total dollar value lost to smart contract exploits (Halborn). Unaudited contracts lose disproportionately more per incident.
- Euler Finance had 10 audits from 6 firms before losing $197M in March 2023.
- The takeaway is not "audits do not work." It is that audits are necessary but not sufficient. The 89.2% of value lost from audited contracts comes from things audits cannot review: future state, social engineering on devops, key compromise, governance attacks, ecosystem composability, and operational drift.
Why this matters
If you are a Web3 founder budgeting your security spend, the most expensive mistake you can make is treating the first audit as your security strategy. Once the audit comes back clean, you ship. You file the report somewhere, mention it on the website, and move on. The mental model is "we got audited, we are now secure."
The data says you are not. Almost every protocol that lost a meaningful amount of money in 2023 and 2024 had been audited at the time of the loss. Some had been audited many times. The audit is a snapshot of the system at one moment, by one team, against the threats they had time to consider. It is not insurance.
This is the audit paradox: the same audits that mostly succeed also mostly do not prevent exploits, because exploits and audits operate on different parts of the security surface. Founders who internalize this make different and better security investments. Founders who do not internalize it think they are buying safety when they are buying a snapshot.
The numbers
91.96 percent, AnChain.ai dataset. This is the share of hacked smart contracts in their longitudinal study that had at least one audit on file before the exploit. The dataset spans multiple chains and includes major DeFi protocols from 2020 onward.
70 percent, Olympix 2024 review. Of the major exploits Olympix tracked in 2024, seven out of ten targeted contracts with public audit reports. The methodology distinguishes "major" by dollar loss threshold (typically $1M or more).
10.8 percent, Halborn dollar-loss analysis. While most hacked contracts were audited, the dollar value lost from unaudited contracts is disproportionate. Unaudited protocols tend to be smaller, less liquid, and easier to exploit, but the rare big unaudited exploit (often a rugpull or a clearly vulnerable fork) skews the dollar share.
These three numbers together paint the picture: audits are common, audits do not guarantee safety, and unaudited protocols are still much riskier per dollar at risk.
The Euler case study
Euler Finance is the canonical example of "we audited extensively and still got drained."
Euler's full audit history before the March 2023 attack:
- Halborn (2021)
- Solidified (2022)
- ZK Labs (2022)
- Certora (formal verification, 2022)
- Sherlock (2022)
- Omniscia (2023, just before the attack)
Six firms, ten engagements, multiple methodologies. None of them caught the donateToReserves vulnerability that the attacker exploited. The attack drained $197M.
The reason none of them caught it is informative. The bug was not a missing reentrancy guard or a typo. It was a logic flaw in how the donateToReserves function interacted with the protocol's liquidation logic, only manifesting under specific liquidation states that the audits had not stress-tested. The audits all reviewed the protocol's design assumptions and found them sound. The auditors all reviewed the implementation and found it correct. But neither layer caught the case where the assumptions and implementation interacted in an unexpected way under adversarial conditions.
This is the deepest version of the audit paradox: audits review what they were given to review. They do not review the future state of the system, the next composability integration, or the corner case that does not exist yet but can be created by an attacker.
What audits do well
Before claiming audits are useless (they are not), it is worth being precise about what audits do well:
- They catch implementation bugs. Reentrancy, overflow, access control, off-by-one. The boring stuff that 90 percent of generic exploits target. Audits eliminate this surface area.
- They catch design-level issues that surface in code review. A reviewer with fresh eyes often spots assumptions the original team has stopped questioning.
- They produce documentation. A good audit report is also onboarding material for the next engineer or auditor who looks at the system.
- They impose discipline. Knowing the audit is coming forces the team to fix obvious things, write better tests, and document corner cases.
If you skip audits, you ship with the boring exploits already present. You will not even reach the interesting failure modes that audits cannot prevent.
But these are necessary contributions to security, not sufficient ones.
What audits cannot review
The 89.2 percent of dollar loss that comes from audited contracts is concentrated in places the audit could not look:
Future code. The audit covers the contract version frozen at audit time. New features added later, oracle upgrades, integration changes, governance-deployed parameters all happen after the audit and are not in scope.
Operational security. The Ronin Bridge attack ($624M, 2022) was a private-key compromise enabled by social engineering. No audit of the bridge contract code would have prevented it. Same for the WazirX attack, the Atomic Wallet attack, and most DPRK-attributed exploits in 2024.
Composability. The Compound V2 fork exploits we document in Shadow Arena come from forks composing with new tokens, new oracles, or new chains in ways the original audit could not anticipate. The audit reviewed Compound V2; it cannot review every future use of Compound V2 by every fork.
Governance attacks. Beanstalk lost $182M to a governance attack where the attacker flash-loaned $1B+ for one block to vote through a malicious proposal. The audit had reviewed the governance code and found it correct. It had not stress-tested the case where someone could acquire the necessary token quantity for one block via flash loan.
Ecosystem evolution. A contract that was secure in 2021 might be vulnerable in 2024 because new MEV strategies, new oracle feeds, or new aggregator behaviors create attack paths that did not exist when the audit happened.
What "audit-plus" looks like
The eMBA Module 3 lesson on the audit paradox follows up with a chapter on the security investments that fill the gap. The summary:
| Investment | What it covers that audits miss |
|---|---|
| Production monitoring + pause | Detection and containment of exploits in flight |
| Bug bounty (Immunefi, Sherlock, Cantina ongoing) | Continuous discovery between audits |
| Operational security (key management, devops hardening) | Protects against social engineering and key theft |
| Incident response playbook | Reduces time-to-action when something goes wrong |
| Re-audits on protocol changes | Catches new bugs introduced after the first audit |
| Threat modeling for composability | Anticipates how integrations create new attack surface |
A protocol that gets one audit and nothing else has 10 percent of a security strategy. A protocol that gets one audit plus monitoring, plus a bounty, plus an IR plan, plus operational security, plus periodic re-audits has a security strategy. The audit is the first line of defense, not the only one.
Budget implications
The most concrete takeaway from the audit paradox is how to think about security budget. For a protocol with under $1M TVL in year one, total security budget might be $20K to $50K. The naive allocation is "all of it on the audit." The audit-paradox-informed allocation is:
- 40-50% audit (still the largest single line item)
- 25-30% production monitoring + pause infrastructure
- 10-15% bug bounty seed funding
- 5-10% operational security tooling (HSM, signing infrastructure)
- 5-10% incident response prep (playbook, dry runs)
For protocols at $100M+ TVL, budgets are 10x higher and the audit share drops further (often 25-35%) as monitoring, bounty, and ongoing review expand. Aave allocated $1.5M for 345 days of V4 review. Uniswap V4 allocated $15.5M to bug bounty alone, the largest in DeFi history.
If those numbers feel high, remember: Euler's $197M loss could have funded 100 years of equivalent ongoing security work.
Related questions
Does this mean unaudited protocols are safer than audited ones? No. The 91.96% statistic is heavily biased by the fact that almost all serious DeFi protocols get audited, so almost all serious exploits target audited code. Halborn's 10.8% dollar-loss number is the better signal: per dollar at risk, unaudited protocols are far more dangerous.
Should we get more audits then? Diminishing returns. Euler had ten audits and got hit anyway. After two or three credible audits, additional audits catch fewer net new findings. Marginal dollars are better spent on monitoring, bounties, and operational security beyond a certain point.
What about formal verification? Formal verification (Certora, K Framework, Halmos) catches a different bug class: invariant violations and impossible state transitions. It is complementary to audits, not a replacement. Most major protocols at this point combine traditional audits with at least one formal-verification pass on the highest-stakes properties.
Is there a single security firm that prevents the audit paradox? No. The paradox is structural. Even the best audit firm operating at the top of its game cannot review code that has not been written yet, or social-engineer protect a CEO whose laptop they cannot see. Multi-layer security is the only response.
Where to go from here
The Audit Paradox lesson in eMBA Module 3 walks through these statistics in detail, plus the budget allocation framework, the operational security checklist, and the incident response playbook template. It is one of the lessons that consistently surprises technical founders the most: the realization that the audit they were planning to rely on is necessary but a long way from sufficient.
If you are a founder reading this and your security plan ends at "we will get an audit," the eMBA module is the next 45 minutes of reading you should do.
Tagged