Napad z zlorabo odobritve (approval exploit (Napad z zlorabo odobritve (approval exploit))

Napad z zlorabo odobritve (approval exploit) je varnostna ranljivost, pri kateri napadalci zlorabijo dovoljenja za porabo žetonov (token allowance), da prenesejo sredstva prek uporabnikovega namena ali razumevanja odobritve.

Opredelitev

Napad z zlorabo odobritve (approval exploit) je vrsta varnostnega tveganja, pri katerem napadalec izkoristi mehanizme odobritve ali dovoljenja za porabo žetonov (token approval/allowance), da premakne sredstva žrtve brez dodatnega soglasja. Običajno se pojavi, ko pametna pogodba (smart contract) ali vmesnik uporabnika napelje k temu, da podeli pretirano ali nevarno visoka dovoljenja, ki jih napadalec nato izkoristi prek zlonamernih ali kompromitiranih pogodb. Pri takem napadu praviloma ne pride do kršitve osnovnega standarda žetona, temveč do zlorabe legitimnega modela avtorizacije, vgrajenega v logiko odobritve žetona. Posledično je prenos sredstev na verigi tehnično veljaven, čeprav krši uporabnikova pričakovanja glede varnosti in obsega odobritve.

To tveganje je tesno povezano s tem, kako so stanja dovoljenj za porabo žetonov shranjena in kako jih pametne pogodbe (smart contracts) uporabljajo. Ko napadalec pridobi dostop do visokega ali neomejenega dovoljenja, lahko večkrat kliče funkcije za prenos v imenu uporabnikovega naslova, dokler odobreni znesek ni izpraznjen. Napadi z zlorabo odobritve pogosto temeljijo na zavajajočih pozivih k potrditvi transakcije, zavajajočih imenih pogodb ali ponovni uporabi že prej podeljenih dovoljenj na nepričakovane načine. Ključna značilnost je neskladje med tem, kar uporabnik meni, da je odobril, in tem, kar dovoljenje v praksi dejansko omogoča.

Kontekst in uporaba

V varnostnih razpravah se napad z zlorabo odobritve (approval exploit) obravnava kot tveganje zlorabe dovoljenj, ne pa kot neposreden spodrsljaj protokola. Pogosto je povezan z žetoni v slogu ERC-20, kjer ločen korak odobritve nastavi dovoljenje (allowance), ki ga lahko porabljajo druge pogodbe. Kadar so ta dovoljenja napačno nastavljena, nikoli preklicana ali podeljena nezaupanja vrednim pogodbam, ustvarijo trajno napadalno površino, ki jo lahko nasprotniki pozneje aktivirajo. Napad tako leži na presečišču zasnove pametnih pogodb (smart contracts), uporabniške izkušnje v walletih in uporabnikovega razumevanja semantike on-chain avtorizacije.

Izraz se pogosto uporablja skupaj s pojmom dovoljenja (allowance), da se opiše, kako podrobna ali preklicljiva bi morala biti dovoljenja za žetone. Varnostni revizorji in snovalci protokolov obravnavajo napade z zlorabo odobritve kot posebno kategorijo groženj, ki jo je treba upoštevati pri načrtovanju vmesnikov pogodb in tokov dovoljenj. V poročilih o incidentih označevanje napada kot approval exploit poudari, da je napadalec deloval znotraj formalno podeljenih dovoljenj, čeprav so bila ta dovoljenja pridobljena ali strukturirana na zavajajoč ali nevaren način. Ta klasifikacija pomaga ločiti takšne napade od napak, ki izvirajo iz aritmetičnih napak, ponovnega vstopa (reentrancy) ali drugih nizkonivojskih pomanjkljivosti v pogodbah.

© 2025 Tokenoversity. Vse pravice pridržane.