BlockSec выявил два основных уязвимости в контрактах цифровых коллекционных предметов, из-за которых 34 миллиона долларов активов оказались заблокированы.

robot
Генерация тезисов в процессе

Команда BlockSec недавно обнаружила два серьезных уязвимости в контракте цифрового коллекционного предмета. Эти два уязвимости могут привести к тому, что активы пользователей будут заблокированы, а средства команды проекта не смогут быть выведены.

Первая уязвимость существует в функции обработки возвратов. Эта функция использует циклический подход для возврата средств всем пользователям, но если один из пользователей является злонамеренным контрактом, он может отказаться от получения возврата и вызвать откат транзакции, что приведет к невозможности завершить операции возврата для всех пользователей. Хотя эта уязвимость в конечном итоге не была использована, она все равно представляет потенциальный риск.

В связи с такими сценариями возврата средств эксперты рекомендуют принять следующие меры для повышения безопасности:

  1. Ограничение, что только личные счета могут участвовать в проекте
  2. Используйте такие ERC20 токены, как WETH, вместо нативных активов
  3. Разработать механизм, позволяющий пользователю самостоятельно запрашивать возврат, чтобы избежать массовых операций возврата.

!

Второй уязвимость вызвана логической ошибкой в коде. В функции вывода средств командой проекта имеется условное выражение, которое должно было сравнивать "прогресс возврата" и "индекс ставки", но ошибочно сравнивается с "общим количеством ставок". Это приводит к тому, что условие никогда не выполняется, и команда проекта не может вывести средства из контракта. В настоящее время более 34 миллионов долларов активов заблокированы в контракте.

!

Эти вопросы еще раз подчеркивают важность проведения комплексного тестирования и аудита безопасности при разработке проектов на блокчейне. Особенно в области цифровых коллекционных предметов в настоящее время все еще не хватает достаточной осведомленности о безопасности и практики аудита, что может привести к серьезным экономическим потерям. Команда проекта должна сформировать базовое мышление о безопасности, написать достаточное количество тестовых случаев и провести профессиональный аудит безопасности до выпуска, чтобы избежать подобных низкоуровневых ошибок.

!

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 4
  • Поделиться
комментарий
0/400
BackrowObservervip
· 07-11 04:43
Технологии сложны, неудивительно, что кто-то спотыкается.
Посмотреть ОригиналОтветить0
DeadTrades_Walkingvip
· 07-11 04:41
Снова увидели, как смарт-контракты проваливаются
Посмотреть ОригиналОтветить0
Ramen_Until_Richvip
· 07-11 04:40
Снова обнаружена уязвимость, молчим три секунды
Посмотреть ОригиналОтветить0
MidnightGenesisvip
· 07-11 04:27
С точки зрения кода есть большие проблемы, похоже, кто-то снова потеряет.
Посмотреть ОригиналОтветить0
  • Закрепить