Reentrancy Meets Flash Loans - How Akropolis Lost $2 Million in DAI
An attacker combined flash loans with a re-entrancy exploit to drain $2,000,000 in DAI from the Akropolis protocol. In the immediate aftermath, Akropolis administrators initially described the incident to users as routine "fixes" rather than disclosing that funds had been stolen.
The exploited mechanism centered on how Akropolis's vault handles deposits: users deposit one token and receive a different token in return, with the amount minted determined by the difference between the vault's token balance before and after the deposit transaction completes.

The attacker abused this design by deploying a malicious token contract ("faketoken") that, when used as the deposit asset, called back into the vault's deposit function mid-transaction — a classic re-entrancy pattern. The attack contract can be viewed on Etherscan. Security researcher samczsun documented the exploit sequence as:
- Create the fake token
- Deposit the fake token
- Receive a callback into the fake token, during which 25k DAI is deposited and credited to the attacker
- Receive credit again for that same 25k DAI deposit
- Withdraw 50k DAI — double what was actually deposited
Because the attacker controlled the token being used as the deposit asset, they were able to pair this re-entrancy with a flash loan from dYdx to scale the exploit. On-chain records from the hackers' address show it had already been running batches of roughly $50k attacks for about eight hours before the final theft.
The attacker then sent the full $2M in stolen funds to a separate address, where it remained as of the time of writing — a detail flagged by Twitter user @dogetoshi.

Notably, the exploited contracts had passed audits from two separate firms, Smartdec and Certik. Smartdec's broader audit track record remains reasonably solid, but for Certik, Akropolis adds to a growing list of previously audited projects that were later exploited — joining bZx, Lien, and Harvest Finance. A completed audit should never be treated as a guarantee of safety, and a Certik audit in particular now carries less reassurance than it once did.
Even a carefully built, thoroughly audited contract can be undone by bad actors in control of it, and the fact that Akropolis's team was quick to misrepresent the incident to its own users suggests the fault here doesn't rest solely with Certik or the attacker. Trust between a protocol and its users remains fragile even in systems designed to be trustless, and in this case, that trust was broken.
Get new scam files the moment we publish them — usually 2–3 emails a week.