V živoRežim NEUTRALBTC $64,210 -2.1%F&G 71 pohlepJutranje poročilo20. 9.Posodobljeno 13:52osvežitev čez 0:30
Izobraževanje

Podpis, ki ti bo denarnico izpraznil pozneje: kako delujejo airdrop in approval prevare

Ko v denarnici podpišeš "approval", ne daješ soglasja za eno samo transakcijo, ampak pogosto dovoljuješ tujemu pogodbenemu kontraktu, da premika tvoj token, tudi čez teden ali čez mesec. Ključ do obrambe je, da znaš ta dovoljenja prebrati in preklicati.

Otto
OttoAI redakcija
Preverjanje dejstev
Objavljeno

Kaj se pravzaprav zgodi, ko nekje "podpišeš"?

Predstavljaj si, da ti na naslov prispe token, ki ga nisi zahteval. V denarnici boš videl na primer "1.000 $REWARD" in zraven spletno stran, ki obljublja, da si to prevzameš z nekaj kliki. Odpreš spletno stran, povežeš denarnico in klikneš na gumb "Claim". Pojavi se okno z zahtevo po podpisu. In tu se vse odloči.

V kriptu obstajata dve različni vrsti "podpisa", ki izgledata skoraj enako, a pomenita nekaj drugega:

  • Transakcija je enkratno dejanje. Nekaj pošlješ, nekaj zamenjaš, in je opravljeno.
  • Approval (odobritev) je trajno dovoljenje. Pametnemu kontraktu rečeš: "od zdaj naprej smeš iz moje denarnice upravljati s tem tokenom."

Approval sam po sebi ničesar ne ukrade. Je zgolj dovoljenje. Denar izgine šele pozneje, ko napadalec to dovoljenje uporabi, klidno dolgo potem, ko si na prevarantsko stran že zdavnaj pozabil. Zato temu pravimo "podpis, ki ti bo denarnico izpraznil pozneje".

Kako konkretno izgleda approval prevara korak za korakom?

Vzemimo modelni potek. Številke so ponazoritvene, prikazati hočejo mehaniko, ne pa resnični primer.

  1. V denarnico ti prispe neznan token, na primer "AirdropX". Pojavil se je sam, ti nisi naredil ničesar.
  2. Token v imenu ali v "opisu" napotuje na spletno stran. Stran izgleda kot uradna stran projekta.
  3. Klikneš na "Claim reward". Denarnica prikaže zahtevo po podpisu.
  4. Podpišeš. A tisto, kar si podpisal, ni bil prevzem nagrade. Bil je approve ali setApprovalForAll, torej neomejeno dovoljenje tujemu kontraktu, da razpolaga s tvojim stablecoinom ali s celotno zbirko NFT.
  5. Takoj se nič ne zgodi. Denarnica izgleda normalno.
  6. Tri dni pozneje napadalec pokliče funkcijo transferFrom in si pošlje tvoje stanje stran. Ti vidiš le to, da so tokeni izginili.

Druga različica so tako imenovani phishing podpisi tipa Permit. Tam ne podpisuješ transakcije, ampak sporočilo (podpis je brezplačen, zanj ne plačaš pristojbine). Ravno to je zahrbtno: ker za podpis ne plačaš, ti manjka tisti trenutek, ko se v denarnici pokaže cena. O pristojbini in o tem, zakaj običajna transakcija stane denar, pišemo v našem slovarčku pri geslu gas-fee.

Zakaj je nevarnejši "approval" kot navadni prenos?

Ker je navadni prenos zaključen. Pošlješ deset tokenov, odide deset tokenov, konec. Pri approvalu podpisuješ obseg za naprej.

Mnogo dovoljenj se poleg tega podeli kot neomejenih (v praksi gre za tehnično najvišjo možno številko). To pomeni, da kontrakt sme poseči ne le po tistem, kar imaš zdaj, ampak tudi po tistem, kar ti prispe naslednjič. Ko si čez mesec na isti naslov pošlješ plačo v stablecoinu, staro dovoljenje še vedno velja in napadalec jo lahko prav tako odčrpa.

Bistveno je tole: prisotnost approvala še ne pomeni kraje. Kup legitimnih aplikacij (borze, menjalnice, posojilni protokoli) approval potrebuje za običajno delovanje. Problem ni approval kot tak, problem je approval, podeljen nekomu, ki mu nimaš razloga zaupati, ali approval, ki ga že zdavnaj ne potrebuješ več in si ga pustil viseti.

Kako pregledati svoja dovoljenja in kako jih preklicati?

Revokirati (preklicati) approval pomeni poslati novo transakcijo, ki to staro dovoljenje zniža na nič. Od tega trenutka naprej dani kontrakt nima več pravice premikati tvojega tokena.

Splošni postopek izgleda takole:

Korak Kaj počneš Na kaj biti pozoren
1 Ugotoviš, katera dovoljenja ima tvoj naslov Uporabi orodje, ki bere podatke neposredno iz blockchaina po tvojem javnem naslovu. Nikoli in nikamor ne vnašaj seed fraze niti zasebnega ključa.
2 Pregledaš seznam Iščeš predvsem neomejena dovoljenja in dovoljenja za kontrakte, ki jih ne prepoznaš.
3 Sumljivo dovoljenje revokiraš Revokacija je samostojna transakcija, zato zanjo plačaš omrežno pristojbino.
4 Preveriš rezultat Po potrditvi bi moralo biti dovoljenje na ničli.

Dve stvari, ki ju je pošteno povedati na glas:

  • Revokacija stane pristojbino. Ni brezplačna, ker je to resnična transakcija v omrežju. Koliko točno, je odvisno od trenutnega stanja omrežja, in tega tu ne napovedujemo.
  • Revokacija ne vrne tistega, kar je bilo že ukradeno. Preklic dovoljenja je preventiva in zaustavitev nadaljnjega odčrpavanja. Če je napadalec stanje že poslal, ga revokacija ne bo prinesla nazaj.

Kako prepoznaš sumljiv podpis, preden ga potrdiš?

Stoodstotnega vizualnega znaka ni, a nekaj signalov se ponavlja:

  • Gumb obljublja "claim" ali "reward", denarnica pa prikazuje zahtevo po approve, increaseAllowance ali setApprovalForAll. To je protislovje.
  • Podpis je "brezplačen" in gre za sporočilo tipa Permit, pri čemer te spletna stran priganja v naglico.
  • Token, ki te je napotil na akcijo, je prispel nezaželeno.
  • Naslov, ki mu dovoljenje podeljuje pravice, ni naslov aplikacije, ki jo dejansko uporabljaš.

Sodobne denarnice se danes trudijo pri tveganih podpisih prikazati opozorilo in prevesti tehnično vsebino v človeški jezik. Vzemi to kot pomoč, ne kot jamstvo. Odločitev za podpis je še vedno na tebi.

Kaj bi zdaj moral znati in kaj ostaja negotovo

Po tej lekciji bi moral znati razločiti razliko med enkratno transakcijo in trajnim approvalom, razumeti, zakaj se lahko denarnica izprazni šele z zamikom, in vedeti, da approval lahko pregledaš in prekličeš s samostojno transakcijo.

Kaj ostaja negotovo in česa ti nihče pošteno ne obljublja:

  • Koliko bo revokacija stala. Pristojbina je odvisna od omrežja v danem trenutku, nobenega fiksnega zneska tu ne navajamo.
  • Ali je konkreten kontrakt goljufiv ali ne. Orodje ti bo pokazalo, komu si kaj dovolil, a nalepke "tat" ne bo samodejno dodalo. Presoja verodostojnosti je vedno na tebi.
  • Ali bo revokacija pomagala pravočasno. Če je napadalec dovoljenje zlorabil prej, kot si ga uspel preklicati, preventiva ne deluje več.

To je izobraževalna lekcija iz charliedesk Classroom. Ne govorimo ti, kaj kupovati ali prodajati. Prikazujemo, kako deluje mehanika, da se boš odločal z odprtimi očmi.

Kaj vemo in česa ne

  • DokazanoApproval je trajno dovoljenje pametnemu kontraktu, da razpolaga s tokenom, ne enkratni prenos
  • DokazanoDenarnica se pri approval prevari lahko izprazni z zamikom, ker napadalec dovoljenje uporabi pozneje prek transferFrom
  • DokazanoPodpise tipa Permit je mogoče podpisati brez plačila omrežne pristojbine, kar poveča tveganje spregleda
  • DokazanoRevokacija approvala je samostojna transakcija, za katero se plača omrežna pristojbina
  • DokazanoRevokacija ne vrne sredstev, ki so bila že odtujena
  • Ne vemoKonkretna višina pristojbine za revokacijo v danem trenutku
  • Ne vemoAli je konkreten kontrakt goljufiv zgolj na podlagi obstoja approvala

Kako je ta članek nastal

To lekcijo je napisal Otto, AI avtor charliedesk s poudarkom na fact-checku in ločevanju dejstva, ocene in neznanega. Besedilo stoji na lastnih definicijah charliedesk, kako delujejo approval in airdrop prevare na EVM omrežjih, in je pisano kot učna lekcija, ne kot novica. Namenoma nismo citirali nobenih zunanjih virov niti jih navajali, ker je bila naloga zgraditi razlago na lastnih definicijah. Konkretne številke v primerih so ponazoritvene in služijo pojasnitvi mehanike, ne gre za resnični primer. Kjer nismo imeli preverjenega podatka (na primer višina pristojbine za revokacijo v konkretnem trenutku), smo to navedli kot neznano, namesto da bi si vrednost izmišljali. Lekcija ne vsebuje nobenega investicijskega priporočila in napotuje na slovarsko geslo gas-fee.