2025 was een jaar van smart contract exploits. Protocollen die meerdere audits doorstonden, protocollen die jarenlang in de praktijk getest waren, protocollen gebouwd door teams met diepgaande beveiligingsexpertise. Ze werden allemaal slachtoffer van aanvallen die iets ongemakkelijks onthulden: we worden beter in het vinden van traditionele bugs, maar we missen nog steeds fundamentele gebreken in hoe protocollen denken over economie, wiskunde en systeemontwerp.
Deze retrospectieve analyse onderzoekt de meest technisch interessante incidenten van het jaar, gerangschikt naar wat ze ons leren over smart contract beveiliging. We verkennen hoe schendingen van economische invarianten aanvallers in staat stelden oneindige tokens te minten, hoe precisiefouten in AMM-wiskunde kleine afrondingsfouten omzetten in miljoenen dollars kostende exploits, en hoe systeemgrensfalingen kwetsbaarheden blootlegden die geen enkele audit van een afzonderlijk component kon ontdekken.
Deze hacks onthullen fundamentele problemen in protocolontwerp, fouten die verder gaan dan eenvoudige vergissingen en raken aan kernaannames over hoe DeFi-systemen zouden moeten werken.
December 2025
Yearn Finance leed twee gerelateerde exploits in december 2025, beide gericht op legacy infrastructuur die on-chain bleef na protocolupgrades.
Eerste exploit: Economische Invariant Schending ($9M) — 1 december
Yearn Finance's legacy yETH stableswap pool werd in één enkele transactie leeggetrokken. De aanvaller vond een fout in de share-berekeningslogica die het minten van een bijna oneindig aantal yETH-tokens mogelijk maakte. Ongeveer 1.000 ETH (ter waarde van ongeveer $3 miljoen) werd naar Tornado Cash gestuurd.
De aanvaller vond een edge case in de stableswap formules waarbij share-berekeningen gemanipuleerd konden worden. De kwetsbaarheid zat in de boekhoudlogica zelf. Wanneer het protocol shares berekende voor stortingen of opnames, kon de wiskunde gemanipuleerd worden om shares uit het niets te creëren.
Tweede exploit: Legacy Contract Risico ($300K) — 17 december
Na de eerste exploit werden Yearn's V1-contracten het doelwit. Wanneer protocollen upgraden, verdwijnen oude contracten niet. Ze blijven on-chain, mogelijk met waarde. In het geval van Yearn hadden de V1-contracten nog steeds fondsen erin vergrendeld, en die fondsen werden een doelwit nadat de eerste exploit de aandacht vestigde op Yearn's legacy infrastructuur.
Waarom het belangrijk is (auditor en organisatorisch perspectief):
De eerste exploit toont een belangrijke lacune in auditmethodologie. Statische analysetools verifiëren geen economische invarianten. Fuzzers testen codepaden, niet economische modellen. Auditprocessen moeten duidelijk verifiëren dat boekhoudlogica beoogde invarianten handhaaft over alle operatiereeksen.
De tweede exploit benadrukt dat legacy contracten een voortdurend risico vormen. De eerste exploit heeft mogelijk de aandacht gevestigd op Yearn's legacy infrastructuur, wat leidde tot de tweede. Protocollen hebben duidelijke plannen nodig voor het afbouwen van oude contracten, het migreren van resterende waarde en het monitoren op onverwachte interacties.
Mitigatie: Implementeer invarianttests die bevestigen dat share-to-value relaties standhouden over alle operaties. Gebruik differentiële fuzzing om boekhoudberekeningen te vergelijken met referentie-implementaties. Heb duidelijke deprecatiestrategieën voor legacy contracten met voortdurende monitoring.
De kwetsbaarheidsklasse: Economische invariant schending en legacy contract risico.
Diepgaande analyse: Yearn Finance DeFi Project Hacked for $9M | PeckShield Alert | Yearn Finance V1 Exploit
3 november 2025
Kleine afrondingsfouten in Balancer's stable pool berekeningen werden versterkt door hoogfrequente batch swaps, resulterend in een drain van $70–128 miljoen over meerdere chains. Aanvallers voerden honderden of duizenden swaps uit, waarbij elke swap de vorige afrondingsfout versterkte totdat die kleine fouten accumuleerden tot massale waarde-extractie.
Hoe het werkte:
Balancer's stable pools gebruiken gecompliceerde formules om prijsstabiliteit te handhaven. Deze formules omvatten afrondingen in meerdere stappen. Bij normale werking zijn afrondingsfouten klein. Maar aanvallers vonden een manier om batch swaps te structureren die consequent profiteerden van de afrondingsrichting, waarbij waarde werd geëxtraheerd door herhaalde operaties.
Waarom het belangrijk is (protocol designer perspectief):
AMM-wiskunde moet correct zijn onder vijandige omstandigheden. Elke afrondingsbeslissing wordt een potentiële aanvalsvector bij grote kapitalen en het vermogen om snel veel transacties uit te voeren. Ontwerpers moeten vijandig denken: wat gebeurt er als een aanvaller deze operatie duizend keer uitvoert?
Wat audits misten: Standaard auditprocessen testten individuele swaps, niet reeksen van honderden of duizenden. Afrondingsfouten werden gemeten als minder dan 1 wei per swap en behandeld als verwaarloosbaar. Geen invariant werd bevestigd over N herhaalde operaties. Fuzzers zonder stateful sequence modeling konden dit niet ontdekken.
Mitigatie: Bevestig invarianten die standhouden over herhaalde operaties. Test met vijandige batch-groottes. Gebruik formele verificatie om te bewijzen dat afrondingsfout-grenzen acceptabel blijven onder elke reeks operaties.
De kwetsbaarheidsklasse: Wiskundige precisiefout in AMM-formules.
Diepgaande analyse: Balancer DeFi Protocol Suffers Massive Exploit | Balancer Hack Explained with Multi-Chain Details
9 juli 2025
GMX, een perpetuals trading protocol dat miljarden aan handelsvolume verwerkt, werd geëxploiteerd voor $42 miljoen. De exploit kwam niet van een bug in de kernhandelslogica. Het ontstond aan de grenzen tussen componenten: waar oracles margineberekeningen ontmoeten, waar liquidatielogica interacteert met bridge-infrastructuur.
Hoe het werkte:
De kwetsbaarheid bestond in hoe deze componenten met elkaar interacteerden, niet in een enkele component. Wanneer oracles prijzen updaten, veranderen margevereisten en reageert de liquidatielogica. De aanvaller vond waarschijnlijk een manier om deze interacties te manipuleren, mogelijk door oracle-updates te timen met margineberekeningen. Ongeveer $9,6 miljoen werd onmiddellijk na de exploit naar Ethereum gebridged, wat zorgvuldige planning suggereert.
Waarom het belangrijk is (systeemarchitectuur perspectief):
Goed geauditeerde individuele componenten kunnen nog steeds falen wanneer ze geïntegreerd worden. De kwetsbaarheid bestaat niet in een enkel contract. Het bestaat in de ruimte tussen componenten, in hoe ze communiceren en interacteren. Naarmate protocollen complexer en componeerbaar worden, groeit het aanvalsoppervlak bij componentgrenzen.
Wat audits misten: Traditionele auditprocessen richten zich doorgaans sterk op componenten in isolatie. Integratietesten bestaan, maar dekken mogelijk geen vijandige scenario's waarin een aanvaller operaties kan timen over componentgrenzen heen.
Mitigatie: Implementeer integratietesten die volledig systeemgedrag simuleren. Gebruik vijandige simulatiekaders die interacties tussen componenten kunnen modelleren. Test timing attacks waarbij operaties worden gesequenced om componentinteracties te exploiteren.
De kwetsbaarheidsklasse: Systeemintegratiefaling.
Diepgaande analyse: GMX Exploit Coverage
28 mei 2025
Cork Protocol verloor ongeveer 3.761 wstETH (ter waarde van ongeveer $12 miljoen) door een kwetsbaarheid in hoe het liquid staking derivatives behandelde. Liquid staking derivatives zoals stETH, wstETH en osETH introduceren verborgen statusveranderingen. De wisselkoers tussen wstETH en ETH verandert in de tijd naarmate staking rewards accumuleren.
Hoe het werkte:
De exploit betrof een mismatch tussen hoe Cork Protocol wstETH's waarde-accrual modelleerde en hoe het werkelijk werkt. Het protocol veronderstelde waarschijnlijk een statische 1:1 relatie die niet standhoudt. Een aanvaller kon wstETH storten wanneer de wisselkoers gunstig is, wachten tot het waarde accumuleert, en dan meer opnemen dan zou moeten kunnen.
Waarom het belangrijk is (organisatorisch perspectief):
Dit benadrukt een organisatorische kenniskloof. Veel ontwikkelteams behandelen alle ERC-20 tokens op dezelfde manier, maar liquid staking derivatives werken anders. Dit is niet alleen een codeprobleem. Het is een kennismanagement probleem. Teams hebben processen nodig om tokenspecifiek gedrag te identificeren en documenteren vóór integratie.
Mitigatie: Gebruik altijd de wisselkoersfuncties van de token (bijv. wstETH.getStETHByWstETH()). Veronderstel nooit een 1:1 relatie. Houd rekening met waarde-accrual in de tijd bij berekeningen met LSDs.
De kwetsbaarheidsklasse: Token mechanica misverstand.
Diepgaande analyse: Cork Protocol Hacked for $12M, Smart Contracts Paused
Deze hacks onthullen smallere maar nog steeds leerzame lessen over specifieke kwetsbaarheidsklassen.
2 september 2025
Bunni, een geconcentreerd liquiditeitsprotocol, werd geëxploiteerd door een precisie/afrondingsbug in zijn LP-boekhoudsysteem. Het exacte verlies varieert per bron ($2,4M initieel gerapporteerd, latere analyse suggereert tot $8,3M).
Hoe het werkte:
De aanvaller vond een manier om herhaalde stortingen en opnames te maken die afrondingen in hun voordeel exploiteerden. Elke operatie extraheerde een klein bedrag, maar over vele operaties telden die kleine bedragen op tot miljoenen.
Waarom het belangrijk is (testmethodologie perspectief):
Meeste testsuites modelleren enkele operaties, niet operatiereeksen. Een test kan verifiëren dat een enkele storting shares correct berekent, maar vangt geen precisiefouten die alleen verschijnen na tientallen operaties. Fuzzers die geen stateful sequences modelleren missen deze problemen.
Mitigatie: Gebruik gevestigde wiskundebibliotheken (bijv. PRBMath, ABDKMath). Test reeksen van operaties, niet alleen enkele operaties. Overweeg intern hogere precisie te gebruiken, zelfs als externe interfaces standaard precisie gebruiken.
De kwetsbaarheidsklasse: Precisie/afrondingsfout in LP-boekhouding.
Diepgaande analyse: Bunni V2 Exploit: $8,3M Drained
30 oktober 2025
Garden Finance werd geëxploiteerd voor $5,5 miljoen plus over meerdere chains. De aanvaller exploiteerde op één chain, gebruikte vervolgens cross-chain bridges om gestolen assets naar andere chains te verplaatsen, en ruilde ze via verschillende DEXs om het spoor te verhullen.
Waarom het belangrijk is (threat modeling perspectief):
Multi-chain deployments creëren nieuwe aanvalsoppervlakken. Threat models moeten rekening houden met cross-chain aanvalsvectoren. Aanvallers kunnen uw protocol op één chain exploiteren, dan cross-chain infrastructuur gebruiken om te ontsnappen of hun sporen te verhullen.
Mitigatie: Ontwerp threat models die cross-chain aanvalsvectoren omvatten. Begrijp hoe bridges werken en hun beveiligingsaannames. Overweeg cross-chain monitoring en alerting te implementeren.
De kwetsbaarheidsklasse: Multi-chain aanvalspatroon.
Diepgaande analyse: Garden Finance Breach Coverage
8 september 2025
Nemo Protocol op Sui werd geëxploiteerd voor $2,4M. De aanvaller bridgede gestolen USDC via Circle van Arbitrum naar Ethereum. De exploit gebeurde ondanks Move's veiligheidskenmerken.
Waarom het belangrijk is (tooling perspectief):
Move's typesysteem voorkomt bepaalde bugs, maar het adresseert geen hele klasse van protocollevel kwetsbaarheden. Als uw protocol's economische logica gebrekkig is, als uw toegangscontrole zwak is, als uw oracle-integratie kwetsbaar is, helpt Move's typesysteem niet.
De kwetsbaarheidsklasse: Economische logica fout in non-EVM ecosysteem.
Diepgaande analyse: Nemo Protocol Exploit Details
Verschillende andere hacks in 2025 vertegenwoordigen eenvoudige operationele falingen in plaats van nieuwe technische kwetsbaarheden:
Deze incidenten volgen bekende patronen: gecompromitteerde admin keys, excessieve token approvals en toegangscontrolefalingen. De oplossingen zijn bekend: gebruik multisig voor admin functies, implementeer adequate toegangscontroles, monitor op excessieve approvals.
Kijkend naar 2025's hacks, komen verschillende patronen naar voren. Economische correctheid is even belangrijk als codebeveiliging. Yearn's oneindige mint en Balancer's afrondingsfouten tonen dat protocollen formele verificatie van hun economische modellen nodig hebben, niet alleen code-audits. Systeemgrenzen verbergen complexiteit. GMX's exploit demonstreert dat goed geauditeerde componenten nog steeds kunnen falen wanneer geïntegreerd. Integratietesten en vijandige simulatie zijn essentieel.
Precisie en afrondingen blijven gevaarlijk. Bunni's exploit is een herinnering dat fixed-point rekenkundige kwetsbaarheden blijven bestaan. Test operatiereeksen, niet alleen enkele operaties. Cross-chain creëert nieuwe aanvalsoppervlakken. Garden Finance en Nemo Protocol tonen dat multi-chain deployments beveiligingsmodellen vereisen die rekening houden met cross-chain aanvalsvectoren. Taalveiligheid elimineert economische bugs niet. Nemo Protocol demonstreert dat type-safe talen bepaalde bugs voorkomen maar economische logica fouten niet aanpakken. Legacy contracten zijn voortdurende risico's. Yearn's december exploits tonen dat gedeprecieerde contracten kwetsbaar blijven, en één exploit kan aandacht vestigen op legacy infrastructuur. Heb duidelijke deprecatiestrategieën en voortdurende monitoring.
Audited, Tested, and Still Broken: Smart Contract Hacks of 2025 was oorspronkelijk gepubliceerd in Coinmonks op Medium, waar mensen het gesprek voortzetten door deze story te highlighten en erop te reageren.


