← Nieuwste papers
💻 computer science

Zero-Shot Vulnerability Detection in Low-Resource Smart Contracts Through Solidity-Only Training

Dit paper introduceert Sol2Vy, een innovatief raamwerk dat cross-taal kennisoverdracht van Solidity naar Vyper mogelijk maakt om kwetsbaarheden in Vyper-smartcontracts effectief te detecteren zonder de noodzaak van omvangrijke gelabelde Vyper-datasets.

Oorspronkelijke auteurs: Minghao Hu, Qiang Zeng, Lannan Luo

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

Oorspronkelijke auteurs: Minghao Hu, Qiang Zeng, Lannan Luo

Oorspronkelijk artikel vrijgegeven aan het publieke domein onder CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat de wereld van digitale valuta (zoals Bitcoin en Ethereum) een enorme stad is, gebouwd op een complex systeem van automatische machines. Deze machines worden smart contracts genoemd. Ze doen van alles: ze houden geld vast, regelen verkiezingen, of beheren leningen.

Maar er is een groot probleem: als er een klein foutje in de code van zo'n machine zit, kunnen hackers het hele systeem leegplunderen. Vaak gebeurt dit omdat de programmeurs een fout hebben gemaakt in de logica.

Het Probleem: Twee Talen, Één Doel

In deze stad zijn er twee hoofdtalen waarin deze machines worden gebouwd:

  1. Solidity: De meest populaire taal. Er zijn duizenden voorbeelden van veilige en onveilige code, en slimme computers (AI) hebben geleerd om fouten in deze taal te vinden.
  2. Vyper: Een nieuwere, veiligere taal die lijkt op Python. Maar er zijn heel weinig voorbeelden van Vyper-code, en zeker geen voorbeelden van gehackte Vyper-code om een AI op te trainen.

Het is alsof je een super-detective hebt die perfect kan oplossen wie een misdaad heeft gepleegd in het Nederlands (Solidity), maar je vraagt hem nu om een misdaad op te lossen in het Japans (Vyper). Hij spreekt Japans niet, en er zijn geen Japans sprekende getuigen. Normaal gesproken zou hij falen.

De Oplossing: Sol2Vy (De "Vertaal-Detective")

De onderzoekers van dit paper hebben een slimme oplossing bedacht, genaamd Sol2Vy. Ze hebben geen nieuwe detective nodig die Japans leert; ze hebben een vertaler nodig die de essentie van de misdaad begrijpt, ongeacht de taal.

Hier is hoe het werkt, stap voor stap, met een analogie:

Stap 1: De "Blauwdruk" (SlithIR)

Stel je voor dat je een huis hebt in Nederland (Solidity) en een huis in Japan (Vyper). Ze zien er totaal anders uit: de muren, de ramen en de deuren zijn anders. Maar als je de blauwdruk (de technische tekening) van beide huizen maakt, zie je dat de structuur hetzelfde is: "Hier is de ingang, hier is de slaapkamer, hier is de brandtrap."

De onderzoekers gebruiken een tool genaamd Slither om zowel Solidity als Vyper-code om te zetten in deze universele "blauwdruk" (SlithIR). Hierdoor verdwijnen de taalverschillen. Een "brandtrap" in het Nederlands en een "brandtrap" in het Japans zien er in de blauwdruk precies hetzelfde uit.

Stap 2: De "Oefening zonder Getuigen" (Ongeleerd Leren)

Nu hebben ze een stapel blauwdrukken van zowel Nederlandse als Japanse huizen, maar ze weten nog niet welke huizen "gevaarlijk" zijn.
Ze laten hun AI-model deze blauwdrukken bekijken en zeggen: "Kijk goed naar de structuur van het Nederlandse huis en het Japanse huis. Probeer te begrijpen hoe ze op elkaar lijken, ongeacht de taal."

Ze gebruiken een slimme wiskundige truc (MMD-loss) om ervoor te zorgen dat de AI de structuur leert begrijpen, zonder zich te laten afleiden door de taal. De AI leert dus: "Een gevaarlijke situatie is wanneer iemand de brandtrap gebruikt terwijl de deur nog open staat," of "Een gevaarlijke situatie is wanneer iemand geld overmaakt zonder te checken of het gelukt is." Dit zijn universele regels, niet taal-specifieke regels.

Stap 3: De "Oefening met Getuigen" (Leren op Nederlands)

Nu hebben ze een stapel blauwdrukken van alleen Nederlandse huizen waar ze precies weten welke misdaad er is gepleegd (bijvoorbeeld: "Dit huis heeft een re-entry-fout").
Ze trainen hun detective op deze Nederlandse blauwdrukken. Omdat de detective al in Stap 2 de universele structuur heeft geleerd, kan hij nu heel goed de fouten in het Nederlands herkennen.

Stap 4: De "Zero-Shot" Test (De Japanse Misdaad)

En nu het magische moment: Ze geven de detective een Japanse blauwdruk (Vyper-code) en vragen: "Is dit huis veilig?"
De detective zegt: "Ik heb dit huis nooit eerder in het Japans gezien, en ik heb nooit een Japanse misdaad gezien. Maar ik heb in Stap 2 geleerd dat deze structuur (de brandtrap die open staat) gevaarlijk is, en in Stap 3 heb ik geleerd dat dit een misdaad is. Dus: Ja, dit huis is onveilig."

Dit noemen ze Zero-Shot: De AI kan een taak uitvoeren in een taal waar hij nooit voor is getraind, omdat hij de onderliggende logica heeft begrepen.

Waarom is dit zo belangrijk?

  • Geen dure training nodig: Je hoeft niet duizenden dure, gelabelde Vyper-voorbeelden te verzamelen (wat bijna onmogelijk is).
  • Sneller dan de oude methoden: Oude methoden (zoals Slither) kijken alleen naar de tekst en missen veel fouten. Andere methoden (zoals Mythril) proberen alle mogelijke scenario's uit te rekenen, wat duurt als een eeuwigheid. Sol2Vy is supersnel omdat het gewoon "kijkt" naar de blauwdruk.
  • Beter dan AI-chatbots: Zelfs de slimste AI-chatbots (zoals GPT-4) doen het slecht als je ze alleen vraagt om een fout te vinden in Vyper-code. Ze missen de specifieke structuur. Sol2Vy is speciaal gebouwd voor deze taak.

Het Resultaat

De onderzoekers hebben getest of hun detective goed werkt.

  • Als hij op Nederlands (Solidity) testte, was hij bijna perfect.
  • Als hij op Japans (Vyper) testte (zonder ooit Japans te hebben geleerd), was hij nog steeds heel goed. Hij maakte maar heel weinig fouten.

Kortom: Sol2Vy is als een detective die de taal niet spreekt, maar de logica van de misdaad zo goed begrijpt dat hij elke misdaad kan oplossen, of die nu in het Nederlands, Japans of een andere taal is gepleegd. Dit maakt de blockchain veiliger voor iedereen, ook voor de minder bekende talen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →