Платформа по торговле NFT SuperRare стала жертвой эксплуатации, в результате которой было украдено $731,000 из-за ошибки в смарт-контракте. Эксперты считают, что данная уязвимость могла быть предотвращена стандартными методами тестирования.
Обзор инцидента
Инцидент произошел в понедельник, когда взломали стейкинговый контракт SuperRare. Платформа зафиксировала потерю порядка $731,000 в RARE токенах. Уязвимость заключалась в функции, допускающей модификацию Merkle root, ключевой структуры данных, управляющей балансами пользователей. Логика функции была неверно написана, что дало возможность любому адресу взаимодействовать с ней.
По словам ведущего разработчика децентрализованной биржи 0xAw, ошибка была столь очевидной, что ее мог бы выявить даже ChatGPT.
Последствия для пользователей
Координатор SuperRare Джонатан Перкинс подтвердил, что финансовые средства основного протокола не были затронуты, и пользователи, пострадавшие от инцидента, будут полностью компенсированы. Всего было установлено, что затронуто 61 кошелек. Перкинс отметил, что компания извлекла уроки из ситуации, и будущие изменения будут проходить через более строгие процедуры проверки.
Значение тестирования смарт-контрактов
Смарт-контракты требуют тщательного тестирования для обеспечения безопасности. По данным специалистов, отсутствие необходимого тестирования позволило выявить уязвимость, которая была бы обнаружена в случае полноценного тестирования. Эстетично оформленные юнит-тесты позволяют раннее обнаружение ошибок, что в данном случае и не произошло. Фрагмент кода, отвечающий за проверку адресов, был написан с противоположной логикой, что предоставило возможность для совершения атаки.
Недавний инцидент с SuperRare подчеркивает важность тщательного тестирования и ревизии смарт-контрактов. Даже небольшая ошибка может привести к значительным финансовым потерям. Платформы должны использовать передовые практики, чтобы избежать подобных инцидентов в будущем.