Approval Exploit

Approval exploit — це вразливість безпеки, за якої зловмисники зловживають дозволами на витрати токенів (token allowance), щоб переказувати активи понад те, що користувач фактично мав на увазі або усвідомлено дозволив.

Визначення

Approval exploit — це клас ризиків безпеки, за якого зловмисник використовує механізми схвалення (approval) або дозволу на витрати токенів (allowance), щоб переміщувати активи жертви без подальшої згоди. Зазвичай це трапляється, коли smart contract або інтерфейс спонукає користувача надати надмірні чи небезпечні дозволи, які зловмисник потім викликає через шкідливі або скомпрометовані контракти. Такий експлойт зазвичай не ламає базовий стандарт токена, а натомість зловживає легітимною моделлю авторизації, закладеною в логіку approval токена. У результаті переказ коштів технічно є дійсним on-chain, хоча й порушує очікування користувача щодо безпеки та обсягу дії дозволу.

Цей ризик тісно пов’язаний із тим, як стани allowance для токенів зберігаються та використовуються smart contract-ами. Щойно зловмисник отримує доступ до великого або необмеженого allowance, він може багаторазово викликати функції переказу від імені адреси користувача, доки схвалений баланс не буде повністю вичерпано. Approval exploits часто спираються на оманливі підказки транзакцій, вводячи в оману назви контрактів або повторне використання раніше наданих дозволів у неочікуваний спосіб. Ключова характеристика — це розрив між тим, що користувач вважає дозволеним, і тим, що на практиці фактично дозволяє наданий allowance.

Контекст і використання

У контексті безпеки approval exploit розглядають як ризик зловживання дозволами, а не як прямий збій протоколу. Його часто пов’язують із токенами у стилі ERC-20, де окремий крок approval встановлює allowance, який інші контракти можуть витрачати. Коли ці дозволи налаштовані неправильно, ніколи не відкликаються або надаються ненадійним контрактам, вони створюють постійну поверхню атаки, яку зловмисники можуть активувати пізніше. Таким чином, експлойт знаходиться на перетині дизайну smart contract-ів, UX гаманця (wallet) та розуміння користувачем семантики on-chain авторизації.

Термін часто використовують разом із поняттям allowance, щоб описати, наскільки детальними та відкличними мають бути дозволи на витрати токенів. Аудитори безпеки та дизайнери протоколів розглядають approval exploits як окрему категорію загроз, яку потрібно враховувати під час проєктування інтерфейсів контрактів і потоків надання дозволів. В інцидент-репортах позначення атаки як approval exploit підкреслює, що зловмисник діяв у межах формально наданих дозволів, навіть якщо ці дозволи були отримані або структуровані оманливим чи небезпечним способом. Така класифікація допомагає відрізнити ці випадки від багів, що виникають через арифметичні помилки, reentrancy або інші низькорівневі вади контрактів.

© 2025 Tokenoversity. Усі права захищено.