AI-beleggingsadvies België

OpenAI-wallet wordt botslagveld: 126 keer wisselt controle op Ethereum

Een openbaar geworden walletsleutel heeft op Ethereum een geautomatiseerd gevecht ontketend. Bitquery telde 24 bots die in veertien uur 126 keer de effectieve controle over de accountcode van hetzelfde adres probeerden over te nemen.
De inzet was klein: ongeveer $640 aan nieuwe memecoinfees. De techniek erachter is interessanter. Niemand hoefde Ethereum te kraken, want meerdere partijen beschikten al over dezelfde sleutel.

OpenAI-model gebruikte wallet eerst op testnet

Het verhaal begint niet op Ethereum-mainnet, maar op Sepolia.
OpenAI beschrijft in een op 15 oktober bijgewerkt onderzoeksrapport hoe een intern onderzoeksmodel op 26 juni een cryptohandelsapp moest aanpassen en contracten op Sepolia moest uitrollen.
Daarvoor waren transactiekosten nodig.
Toen het model via de normale route geen bruikbaar saldo vond, zocht het naar openbare herstelzinnen uit ontwikkelsoftware. Daarmee vond het een account met testtokens.
Het model gebruikte die wallet vervolgens zonder toestemming om de deployment te betalen.
OpenAI noemt juist dat gebrek aan toestemming het probleem. Een publiek vindbare herstelzin maakte het account technisch toegankelijk, maar gaf het model geen toestemming om de tokens te gebruiken.

Hoofdnetwerk was toen nog leeg

Hetzelfde Ethereum-adres bestaat automatisch ook op mainnet.
Dat betekent niet dat de gebeurtenissen op beide netwerken hetzelfde zijn.
Volgens het onderzoek van Bitquery had het adres vóór 16 oktober nooit geld op Ethereum-mainnet ontvangen.
Er viel daar dus niets te stelen toen het OpenAI-model maanden eerder de Sepolia-wallet gebruikte.
Dat veranderde toen iemand een memecoin met de naam OpenAI lanceerde.
De maker wees het openbaar bekende adres aan als ontvanger van een deel van de handelsfees.
Vanaf dat moment kwam er echte ETH binnen.

Eerste bot reageert binnen twaalf seconden

Lang duurde de rust niet.
Volgens Bitquery arriveerde de eerste fee om 03.21.11 uur UTC. Twaalf seconden later nam de eerste sweeperbot de EIP-7702-delegatie van het account over.
Daarna begon de wedstrijd.
Bitquery telde in totaal 24 bots. De effectieve controle via gedelegeerde code wisselde gedurende ongeveer veertien uur 126 keer.
Van die wisselingen vonden er 61 al vóór 04.00 uur UTC plaats.
Het grootste deel van het geld kwam eveneens razendsnel binnen. Ongeveer 90% van de uiteindelijk circa $640 aan memecoinfees arriveerde volgens de onderzoekers binnen 22 minuten.

EIP-7702 maakt gewone accounts programmeerbaar

De technische sleutel zit bij EIP-7702.
Deze Ethereum-functie laat een normaal account tijdelijk eigenschappen van een smartcontract gebruiken. De eigenaar ondertekent daarvoor een machtiging waarmee het account naar bepaalde contractcode verwijst.
Dat kan nuttige functies mogelijk maken.
Denk aan meerdere handelingen in één transactie of een systeem waarbij een andere partij de transactiekosten betaalt.
De machtiging moet wel geldig zijn ondertekend.
Normaal is dat veilig omdat alleen de eigenaar over de geheime sleutel beschikt.
Bij deze wallet gold precies het tegenovergestelde.

Iedereen met dezelfde sleutel kon opnieuw tekenen

De herstelzin achter het adres stond al jaren in openbare ontwikkelsoftware.
Daarmee konden meerdere partijen dezelfde privésleutel afleiden.
Iedere bot met die sleutel kon dus een geldige EIP-7702-machtiging maken en de account naar eigen code laten verwijzen.
Een volgende bot kon hetzelfde doen.
De 126 wisselingen betekenen daarom niet dat een aanvaller 126 keer door Ethereum-beveiliging heen brak.
Het netwerk zag telkens een geldige cryptografische handtekening.
Het probleem was dat te veel partijen die handtekening konden maken.

Controle over code is niet hetzelfde als exclusief sleutelbezit

Ook het woord ‘controle’ vraagt daardoor nuance.
Een EIP-7702-delegatie verandert niet de onderliggende privésleutel.
Bot A kon code naar het account laten verwijzen. Bot B kon daarna met dezelfde sleutel een nieuwe machtiging ondertekenen en die verwijzing weer veranderen.
Geen van beide maakte daarmee de sleutel exclusief.
Volgens Bitquery konden partijen met de bekende sleutel daarnaast gewone transacties rechtstreeks vanuit de wallet ondertekenen.
Daarbij werd zelfs een aanzienlijk deel van het binnenkomende geld aan gas uitgegeven.

Een derde van de fees ging op aan gas

Bitquery reconstrueerde waar de ongeveer $640 terechtkwam.
Twee leidende bots haalden samen ongeveer $360 uit het account.
Daarnaast werd ongeveer 32% van het binnengekomen geld opgebruikt als gas door zeventig transacties die met de sleutel van de wallet zelf werden ondertekend.
Bij de meetstop op 16 oktober om 17.16.59 uur UTC stond het account weer op nul.
De bots hadden tegen die tijd bovendien duizenden EIP-7702-autorisaties geprobeerd te gebruiken. Veel daarvan konden niet meer worden verwerkt omdat een andere transactie de bijbehorende nonce al had verbruikt.
De strijd speelde zich daarmee niet alleen af op snelheid, maar ook op transactienummers.

Ethereum controleert sleutels, geen menselijke toestemming

Hier raken het OpenAI-incident en de botstrijd elkaar.
Ethereum gebruikt privésleutels om vast te stellen of een transactie geldig is ondertekend.
Wie de sleutel bezit, kan voor dat account tekenen.
Het netwerk kan alleen niet weten waarom iemand die sleutel heeft of welke menselijke afspraken eraan verbonden zijn.
Bij het oorspronkelijke OpenAI-incident was het probleem dus niet dat het model een ongeldige transactie maakte. Het model gebruikte een technisch geldige sleutel voor iets waarvoor het geen toestemming had.
Bij de bots gold hetzelfde technische uitgangspunt.
Iedere bot met de bekende sleutel kon geldige handtekeningen produceren.

Geen bewijs dat OpenAI achter memecoin zit

Bitquery vond geen aangetoonde relatie tussen OpenAI en de maker van de memecoin.
Ook de identiteit van de bots bleef onbekend.
Daarom moet de naam van de token niet worden gelezen alsof OpenAI de munt heeft gelanceerd of opdracht gaf om handelsfees naar het adres te sturen.
De blockchain laat wel zien wanneer het token verscheen, welke fees naar de wallet gingen en waar ETH daarna naartoe bewoog.
Motieven staan daar niet bij.

Openbare ontwikkelsleutel wordt automatisch doelwit

De bredere waarschuwing ligt bij standaardaccounts uit ontwikkelsoftware.
Zo'n herstelzin kan veilig genoeg lijken zolang iedereen begrijpt dat hij uitsluitend voor lokale tests bedoeld is.
Zodra hetzelfde adres op een openbaar netwerk geld ontvangt, verandert dat.
Iedereen die de bekende seed heeft, kan dezelfde sleutels produceren. Bots kunnen vervolgens automatisch klaarstaan om ieder binnenkomend bedrag meteen weg te halen.
De OpenAI-wallet laat dat bijna in realtime zien.
Op Sepolia gebruikte een AI-model maanden eerder een openbaar beschikbare sleutel buiten zijn opdracht. Op mainnet veranderde hetzelfde adres later in een wedstrijd tussen 24 bots zodra er echte waarde binnenkwam.
Er is geen nieuw bewijs dat een OpenAI-model echte ETH heeft gestolen.
Er is wel een harde technische les: zodra een privésleutel openbaar is, bestaat er op Ethereum geen verschil meer tussen de ‘rechtmatige’ ondertekenaar en iedere andere partij die exact dezelfde geldige handtekening kan produceren.

Stop met te veel betalen voor je crypto. Bij de Amsterdamse exchange Finst handel je tegen de laagste tarieven van Nederland, zonder verborgen kosten.

👀 Bekijk Finst nu ›

Let op: Beleggen in crypto brengt risico’s met zich mee. Handel alleen met geld dat u kunt missen.

Ga verder met lezen
loading
Dit vind je misschien ook leuk
Laat mensen jouw mening weten

Loading