De ByBit-hack was geen smart contract exploit. Geen reentrancy-bug, geen flash loan, geen oracle-manipulatie. De multisig werkte precies zoals ontworpen — elke signer keurde de transactie goed, de drempel werd gehaald — en 401.000 ETH verdween.
Ik heb honderden stolen-funds-zaken bekeken. Deze springt eruit omdat de kwetsbaarheid niet in de code zat. Het zat in de signing interface.
Wat er gebeurde
Op 21 februari 2025 werd ByBit's cold wallet leeggehaald. De wallet draaide op een Safe{Wallet} multisig die drie signers vereiste. Geen van hen werd direct gecompromitteerd.
Weken eerder hadden de aanvallers via social engineering een Safe{Wallet}-ontwikkelaar te pakken gekregen, AWS-sessietokens gestolen, MFA omzeild en malicious JavaScript in de signing frontend geïnjecteerd. Toen ByBit's team een routinematige cold-to-hot transfer initieerde, toonde de UI normale transactiedetails. De signers keurden goed wat ze zagen. Maar wat op de blockchain terechtkwam was een delegatecall die het logic contract van de wallet verving door een versie onder controle van de aanvaller. Volledige controle. Alle assets weg. Van buitenaf zag de transactie er volledig geautoriseerd uit.
Waarom delegatecall alles verandert
Delegatecall laat externe code draaien binnen de storage van het aanroepende contract. De aanvaller herschreef de regels van de wallet van binnenuit. Het proxy-adres bleef hetzelfde. De implementatie erachter was nu van hen.
Waar ik steeds op terugkom: EIP-712, de standaard die signing requests leesbaar maakt voor mensen, kan geneste delegatecall-payloads niet decoderen. De signers hadden geen enkele manier om het verschil te zien tussen een normale transfer en een volledige wallet-overname. Niet met standaardtools, niet met zorgvuldige controle.
Een geldige signature bewijst dat iemand op een knop heeft gedrukt. Het bewijst niet dat diegene begreep wat er ondertekend werd.
Wat er daarna volgde
Fondsen werden binnen minuten verspreid over tussenliggende wallets — DEXs, cross-chain bridges, no-KYC swap-diensten. Op 20 maart meldde ByBit's CEO dat 86% van de gestolen ETH was omgezet naar BTC. ZachXBT koppelde de aanval aan Noord-Korea's Lazarus Group op basis van transactieclustering.
Een patroon dat het vermelden waard is: sommige gestolen assets bleven wekenlang inactief voordat ze weer opdoken. Klassiek Lazarus. Ik heb dit in andere zaken ook gezien — mensen gaan ervan uit dat een koud spoor een dood spoor is. Dat is het meestal niet. Als je stopt met kijken, mis je de reactivering.
Waarom het forensisch onderzoek lastig is
Delegatecall verhult de daadwerkelijke contractinteractie. Standaard block explorers kunnen niet volledig decoderen wat er gebeurd is, omdat de uitvoeringscontext geabstraheerd is. Je moet dieper graven dan de oppervlakkige transactiedata.
Het off-chain compromis — de UI-manipulatie, de inbraak op het werkstation van de ontwikkelaar, de AWS-kaping — laat geen enkel on-chain spoor achter. Zonder infrastructuurlogs en incident response-artefacten werk je blind.
En cross-chain witwassen via no-KYC-diensten verbreekt de traceringsketen bij elke stap. Je kunt het geld niet in een rechte lijn volgen. Het vereist clusteranalyse en gedragspatroonherkenning — een ander skillset dan eenvoudige adrestracking.
Het ongemakkelijke deel
Deze transactie was cryptografisch geldig. Alle vereiste signers keurden hem goed. On-chain ziet het er geautoriseerd uit. Elk compliancekader dat een geldige multisig-goedkeuring beschouwt als bewijs van legitieme intentie, is niet opgewassen tegen dit type aanval.
Als je een zaak als deze uitwerkt, heb je beide lagen nodig. On-chain data vertelt je wat er goedgekeurd werd en waar fondsen naartoe gingen. Off-chain bewijs — interfacegedrag, signing logs, communicatieverslagen — vertelt je of de goedkeuring oprecht was. Geen van beide is op zichzelf voldoende.