Smart Learning to Find Dumb Contracts (Extended Version)

Dit paper introduceert DLVA, een deep learning-systeem dat Ethereum-smartcontracten 10 tot 1.000 keer sneller analyseert dan bestaande tools door bytecode direct te vertalen naar vectoren, waardoor het met een hoge nauwkeurigheid kwetsbaarheden kan detecteren zonder handmatige feature engineering.

Tamer Abdelaziz, Aquinas Hobor

Gepubliceerd 2026-03-19
📖 5 min leestijd🧠 Diepgaand

Each language version is independently generated for its own context, not a direct translation.

De Probleemstelling: Een digitale wereld vol valkuilen

Stel je voor dat de blockchain (zoals Ethereum) een enorme, openbare markt is waar mensen digitale geldzaken doen. Mensen schrijven hier "smart contracts" voor: dit zijn digitale automaten die geld overmaken, loterijen houden of eigendommen beheren.

Het probleem is dat deze automaten soms gebrekkig zijn ontworpen. Net als een slecht gebouwd huis kan er een deur openstaan waar een dief doorheen kan, of kan een kraan lekken waardoor geld verdwijnt. Omdat er soms miljoenen dollars op het spel staan, proberen hackers deze lekken te vinden om geld te stelen.

Tot nu toe waren er twee grote problemen bij het vinden van deze lekken:

  1. De sleutel is vaak weg: Veel van deze digitale huizen zijn gebouwd in een taal die voor computers is (bytecode), maar de bouwtekeningen (de broncode) zijn vaak niet publiek. De meeste bestaande veiligheidscontroles hebben die bouwtekeningen nodig om te werken.
  2. Het is te traag: De bestaande controles zijn als een supersterke, maar langzame inspecteur die elk huis van binnen tot buiten moet aflopen. Dit duurt te lang als je duizenden huizen per seconde wilt controleren.

De Oplossing: DLVA (De Slimme Leraar)

De auteurs van dit paper hebben een nieuw gereedschap bedacht genaamd DLVA (Deep Learning Vulnerability Analyzer). Je kunt je DLVA voorstellen als een super-snelle, slimme leerling die niet naar de bouwtekeningen hoeft te kijken, maar direct naar het gebouw zelf (de bytecode) kan kijken.

Hier is hoe het werkt, stap voor stap:

1. De Leraar en de Leerling (Slither en DLVA)

Stel je voor dat Slither een zeer ervaren, maar wat traag inspecteur is die alleen werkt als hij de bouwtekeningen (broncode) heeft. Hij kent alle mogelijke fouten.

  • Het probleem: Slither kan niet naar de helft van de huizen kijken omdat de tekeningen ontbreken.
  • De oplossing: De onderzoekers hebben DLVA getraind door Slither te laten "kijken" naar de huizen waar de tekeningen wel waren. DLVA heeft gekeken: "Als Slither hier een fout ziet, hoe ziet het gebouw er dan van buitenaf uit?"
  • Het resultaat: DLVA heeft geleerd om de "stijl" van een fout te herkennen, zelfs zonder de tekeningen. Het is alsof een leerling zo goed is geworden in het herkennen van slechte metselwerk dat hij het kan zien, zelfs als de blauwdrukken weg zijn.

2. De Drie Delen van DLVA

DLVA werkt in drie stappen, zoals een slim team van detectives:

  • De Vertaler (SC2V):
    Een smart contract is voor een mens onleesbaar (een lange reeks getallen en letters). DLVA vertaalt dit eerst naar een digitale vingerafdruk (een vector).

    • Vergelijking: Stel je voor dat je een heel boek in één zin samenvat die de "sfeer" van het verhaal weergeeft. DLVA doet dit met code. Het maakt een wiskundige "vingerafdruk" van het contract.
  • De Tweelingzoeker (Sibling Detector - SD):
    Deze detector kijkt of de vingerafdruk van het nieuwe contract lijkt op die van een contract dat we al kennen.

    • Vergelijking: Als je een nieuwe auto ziet die er precies zo uitziet als een auto die je weet dat gestolen is, is de kans groot dat deze ook gestolen is. Als de "vingerafdruk" heel dichtbij ligt, zegt DLVA direct: "Dit is gevaarlijk!" Dit werkt razendsnel en is zeer betrouwbaar voor contracten die lijken op bekende voorbeelden.
  • De Hoofdinspecteur (Core Classifier - CC):
    Als de vingerafdruk niet lijkt op een bekende "tweeling", moet de hoofdinspecteur diep in de details kijken. Deze gebruikt een ingewikkeld brein (een neurale net) om te beslissen of er een fout zit, zelfs als het contract uniek is.

    • Vergelijking: Dit is de detective die de kleine details in de muren bekijkt om te zien of er een verborgen deur is, zelfs als het huis er normaal uitziet.

Waarom is dit zo speciaal?

  1. Snelheid:
    Terwijl andere tools er minuten of uren over doen om één contract te controleren, doet DLVA dit in 0,2 seconden.

    • Vergelijking: Als andere tools een auto per uur controleren, kan DLVA in diezelfde tijd een hele file van duizenden auto's passeren en zeggen welke er kapot zijn.
  2. Alles wat je nodig hebt:
    DLVA werkt met de "uitgevoerde code" (bytecode). Je hoeft geen broncode te hebben.

    • Vergelijking: De meeste detectives willen de bouwtekening zien. DLVA kan het huis controleren door er gewoon omheen te lopen en naar de deuren en ramen te kijken. Dit is cruciaal, omdat ongeveer 70% van de waardevolle contracten geen openbare bouwtekeningen heeft.
  3. Beter dan de leraar:
    In de test bleek DLVA zelfs beter te zijn dan de leraar (Slither) in het vinden van fouten, en het maakte minder fouten bij het melden van dingen die veilig waren (valse alarmen).

Conclusie

Kortom, DLVA is een super-snel, slimme scanner die leert van een expert, maar dan veel sneller werkt en geen bouwtekeningen nodig heeft. Het helpt ontwikkelaars en gebruikers om hun digitale huizen veilig te houden voordat hackers erin kunnen breken. Het is een stap in de richting van een veiliger digitale wereld, waar we niet hoeven te wachten tot iemand het geld heeft gestolen om te zien dat er een lek was.