Approval exploit

Approval exploit to luka bezpieczeństwa, w której atakujący nadużywają uprawnień do token allowance, aby przenosić aktywa poza zakres autoryzacji zamierzonej lub rozumianej przez użytkownika.

Definicja

Approval exploit to rodzaj ryzyka bezpieczeństwa, w którym atakujący wykorzystuje mechanizmy token approval lub allowance do przenoszenia aktywów ofiary bez dalszej zgody. Zwykle pojawia się wtedy, gdy smart contract lub interfejs skłania użytkownika do przyznania zbyt wysokich lub niebezpiecznych uprawnień allowance, które następnie są wywoływane przez złośliwe lub skompromitowane kontrakty. Tego typu atak zazwyczaj nie łamie samego standardu tokena, lecz nadużywa legalnego modelu autoryzacji zakodowanego w logice approval danego tokena. W efekcie transfer środków jest technicznie ważny on-chain, mimo że narusza oczekiwania użytkownika co do bezpieczeństwa i zakresu uprawnień.

To ryzyko jest ściśle powiązane z tym, w jaki sposób stany token allowance są przechowywane i odwoływane przez smart contracts (smart contracty). Gdy atakujący uzyska dostęp do wysokiego lub nielimitowanego allowance, może wielokrotnie wywoływać funkcje transfer w imieniu adresu użytkownika, aż do całkowitego wyczerpania zatwierdzonego salda. Approval exploits często opierają się na zwodniczych promptach transakcyjnych, mylących nazwach kontraktów lub ponownym wykorzystaniu wcześniej przyznanych uprawnień w nieoczekiwany sposób. Kluczową cechą jest rozbieżność między tym, co użytkownik uważa, że autoryzował, a tym, na co faktycznie pozwala przyznany allowance w praktyce.

Kontekst i zastosowanie

W dyskusjach o bezpieczeństwie approval exploit jest opisywany jako ryzyko nadużycia uprawnień, a nie bezpośrednia awaria protokołu. Często wiąże się go z tokenami w stylu ERC-20, gdzie osobny krok approval ustala allowance, który inne kontrakty mogą wydawać. Gdy te allowance są źle skonfigurowane, nigdy nieodwołane lub przyznane niezaufanym kontraktom, tworzą trwałą powierzchnię ataku, którą przeciwnicy mogą później aktywować. Tego typu exploit znajduje się więc na styku projektowania smart contracts (smart contractów), UX portfela (wallet) i zrozumienia przez użytkowników semantyki autoryzacji on-chain.

Termin ten jest często używany razem z pojęciem allowance, aby opisać, jak szczegółowe lub łatwe do odwołania powinny być uprawnienia do tokenów. Audytorzy bezpieczeństwa i projektanci protokołów traktują approval exploits jako odrębną kategorię zagrożeń, którą należy uwzględnić przy projektowaniu interfejsów kontraktów i przepływów uprawnień. W raportach z incydentów oznaczenie ataku jako approval exploit podkreśla, że atakujący działał w ramach formalnie przyznanych uprawnień, mimo że zostały one uzyskane lub ustrukturyzowane w zwodniczy lub niebezpieczny sposób. Taka klasyfikacja pomaga odróżnić ten typ ataku od błędów wynikających z pomyłek arytmetycznych, reentrancy lub innych niskopoziomowych usterek kontraktów.

© 2025 Tokenoversity. Wszelkie prawa zastrzeżone.