C

Chainhunters

10 min
Solidity
security
solidity
honeypot
scams
Token Honeypot Bypass: Zo misleid je checkers
Steeds meer mensen vertrouwen blindelings op ‘honeypot checkers’. Ontdek in dit artikel hoe fraudeurs deze tools kunnen omzeilen en waarom zelfonderzoek essentieel blijft.

Inleiding

Met de opkomst van DeFi en de explosieve groei van nieuwe ERC-20 tokens, zien we ook steeds meer zogeheten ‘honeypot checkers’. Deze tools beweren dat ze kunnen detecteren of een token je toelaat om te kopen, maar niet meer te verkopen. In de praktijk blijkt echter dat niet alle honeypot checkers hun belofte waarmaken. Sommige slimme ontwikkelaars misleiden deze checkers, waardoor je alsnog tegen een token aanloopt die je niet kunt verkopen.

In dit artikel leggen we uit hoe dit werkt, zodat je weet waar je op moet letten en niet blindelings vertrouwt op die ‘honeypot checker’-uitkomst.

Wat is een honeypot?

Een honeypot is een ERC-20 token die zo is ontworpen dat je ‘m vaak eenvoudig kunt kopen, maar niet (of heel beperkt) kunt verkopen. Dit kan op verschillende manieren in de code worden geïmplementeerd, zoals:

  1. Een transfer-functie die simpelweg niet werkt na aankoop.
  2. Een verborgen extra functie die de eigenaar (‘owner’) de mogelijkheid geeft om de balance van andere wallets te manipuleren, waardoor verkopen wordt geblokkeerd.
  3. Andere slimme methoden om de verkoop van het token te beperken of onmogelijk te maken.

Het resultaat is hetzelfde: je komt er niet meer vanaf nadat je hebt gekocht.

Wat is een honeypot checker?

Een honeypot checker is een tool (of script) die probeert te achterhalen of een token een honeypot is. Het doet dit vaak door:

  • Een testtransactie: De checker kijkt of de transfer-functie ‘normaal’ werkt.
  • Het analyseren van de broncode, als die openbaar is, om te zoeken naar gemarkeerde patronen of functies die tokens on-verkoopbaar kunnen maken.
  • Controleren of de mint-functie of andere functies die de eigenaar extra controle geven, zijn uitgeschakeld.

Een honeypot checker kan in veel gevallen nuttig zijn, maar er bestaan manieren om deze tools te misleiden, waardoor ze ten onrechte aangeven dat een token “veilig” zou zijn.

Hoe we een honeypot checker kunnen omzeilen

1. De honeypot checker misleiden

Scammers kunnen de checker foppen door conditionele logica in de transfer-functie te plaatsen:

function transfer(address to, uint256 amount) public returns (bool) {
    // Pseudocode: alleen transacties met een bepaald tokenbedrag laten slagen
    // Zo slaagt de testtransactie van de checker wel, maar echte verkooppogingen niet.
    
    if (amount == 1 * 10**18) { // bijvoorbeeld 1 token
        // Doe de normale transfer (checker denkt nu dat alles werkt)
    } else {
        revert("Transfer blocked");
    }

    return true;
}

In dit voorbeeld is alleen het precieze bedrag van 1 token verplaatsbaar. Checkers versturen meestal kleine testtransacties, waardoor ze ten onrechte concluderen dat het token verkoopbaar is. Maar als je daarna een groter of willekeurig bedrag probeert te verkopen, krijg je een foutmelding.

2. Custom Yul (assembly) code

Ook kan de ontwikkelaar de checks omzeilen door op slimme wijze tokens aan te maken zonder gebruik te maken van de standaard mint-functie in Solidity. Bijvoorbeeld:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Honeypot {
    function generateTokens(uint256 amount) public {
        assembly {
            // Sla tokens op in een specifieke storage slot
            // zonder de gebruikelijke Events of checks te activeren.
            mstore(0x40, 0x60)
            sstore(0, amount)
        }
    }
}

Een honeypot checker die alleen zoekt naar een standaard ‘mint’-functie, concludeert dan onterecht dat het token niet gemint kan worden. Ondertussen kunnen de oplichters onbeperkt tokens genereren of manipuleren via de verborgen assembly-code.

Waarom je niet alleen op checkers moet vertrouwen

Honeypot checkers zijn handig, maar geen garantie. Ze werken vaak met een reeks standaard-tests en aannames over de code. Door net buiten die standaarden te denken of door niet opvallende achterdeurtjes, kan een contract gemakkelijk aan een checker ontsnappen en mensen alsnog in de val lokken.

Wat kun je doen om jezelf te beschermen?

  • Lees de code of laat iemand anders het doen: Vertrouw niet alleen op geautomatiseerde tools. Controleer bijvoorbeeld in Etherscan de _transfer- en andere functies op verdachte code.
  • Controleer de transactiegeschiedenis: Zie je wel verkooptransacties van willekeurige gebruikers, of alleen van één enkel adres (waarschijnlijk de eigenaar)?
  • Gebruik meerdere bronnen: Raadpleeg niet één checker, maar meerdere. Lees ook community-reviews, GitHub-issues en Telegram-groepen als die er zijn.
  • Test met kleine bedragen: Als je tóch wilt investeren, gebruik eerst een testbedrag dat je bereid bent te verliezen.

Conclusie

‘Honeypot checkers’ kunnen een nuttige eerste indruk geven, maar ze kunnen niet alle slimme trucs detecteren die scammers gebruiken. De code kan eenvoudig worden aangepast om deze tools te misleiden. Wil je jezelf beschermen? Dan blijft het belangrijk om:

  • Zelf de code te (laten) controleren.
  • De transactiegeschiedenis te bestuderen.
  • Kritisch te blijven, zelfs als een checker “alles veilig” meldt.

Heb je een verdachte token gespot of ben je slachtoffer geworden? Neem contact met ons op via onze site. Samen kunnen we de cryptowereld veiliger maken.