Недавно одна компания по безопасности обнаружила два серьезных уязвимости в контракте цифрового коллекционного предмета. Эти уязвимости могут привести к блокировке активов пользователей или к невозможности вывода средств командой проекта.
Первый уязвимость обнаружена в функции обработки возвратов. Эта функция выполняет возврат средств всем пользователям в цикле, но если какой-то пользователь является злонамеренным контрактом, он может отказаться от получения возврата и сделать транзакцию неудачной, что приведет к прерыванию всего процесса возврата. К счастью, эта уязвимость не была фактически использована.
Чтобы избежать подобных проблем, рекомендуется, чтобы команда проекта предприняла следующие меры для обеспечения безопасного возврата средств:
Ограничение, что только личные пользователи могут участвовать в проекте
Используйте токены ERC20 вместо нативных активов
Разработать механизм активного запроса возврата пользователями, а не массовый возврат.
!
Второй уязвимость заключается в ошибке в коде. В функции извлечения средств проекта условное выражение использует неправильную переменную для сравнения. Это приводит к тому, что условие никогда не может быть выполнено, и команда проекта не может извлечь средства из контракта. В настоящее время более 34 миллионов долларов активов заблокированы в контракте.
!
Эти вопросы еще раз подчеркивают, что даже у известных проектов могут возникать грубые ошибки. При разработке проекта необходимо писать достаточное количество тестовых случаев и иметь базовое понимание безопасности. Хотя в области децентрализованных финансов безопасность аудита стала обычной практикой, в проектах цифровых коллекционных предметов аудит безопасности все еще отсутствует, что в этом случае привело к огромным финансовым потерям.
Это событие напоминает нам о том, что проекты цифровых коллекционных предметов также должны уделять внимание безопасности аудита, чтобы предотвратить повторение подобных значительных потерь.
!
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
19 Лайков
Награда
19
6
Поделиться
комментарий
0/400
NFTRegretDiary
· 08-05 09:52
Еще один урок от ящика с ядом
Посмотреть ОригиналОтветить0
MevShadowranger
· 08-02 20:22
Снова провал смарт-контрактов. Что делает команда проекта?
Посмотреть ОригиналОтветить0
0xSleepDeprived
· 08-02 20:21
Аудит даже не проводится gg
Посмотреть ОригиналОтветить0
ShamedApeSeller
· 08-02 20:17
Верните деньги, верните деньги, верните мои кровные деньги
Посмотреть ОригиналОтветить0
BearMarketBarber
· 08-02 20:12
Функция возврата такая грубая, обречено.
Посмотреть ОригиналОтветить0
SmartContractPlumber
· 08-02 20:11
Это снова типичная уязвимость повторного входа в функции возврата средств, такие примитивные ошибки встречались слишком часто в 21 году.
Уязвимость проекта цифровых коллекционных предметов привела к блокировке 34 миллионов долларов. Безопасный аудит стал неотложной необходимостью.
Недавно одна компания по безопасности обнаружила два серьезных уязвимости в контракте цифрового коллекционного предмета. Эти уязвимости могут привести к блокировке активов пользователей или к невозможности вывода средств командой проекта.
Первый уязвимость обнаружена в функции обработки возвратов. Эта функция выполняет возврат средств всем пользователям в цикле, но если какой-то пользователь является злонамеренным контрактом, он может отказаться от получения возврата и сделать транзакцию неудачной, что приведет к прерыванию всего процесса возврата. К счастью, эта уязвимость не была фактически использована.
Чтобы избежать подобных проблем, рекомендуется, чтобы команда проекта предприняла следующие меры для обеспечения безопасного возврата средств:
!
Второй уязвимость заключается в ошибке в коде. В функции извлечения средств проекта условное выражение использует неправильную переменную для сравнения. Это приводит к тому, что условие никогда не может быть выполнено, и команда проекта не может извлечь средства из контракта. В настоящее время более 34 миллионов долларов активов заблокированы в контракте.
!
Эти вопросы еще раз подчеркивают, что даже у известных проектов могут возникать грубые ошибки. При разработке проекта необходимо писать достаточное количество тестовых случаев и иметь базовое понимание безопасности. Хотя в области децентрализованных финансов безопасность аудита стала обычной практикой, в проектах цифровых коллекционных предметов аудит безопасности все еще отсутствует, что в этом случае привело к огромным финансовым потерям.
Это событие напоминает нам о том, что проекты цифровых коллекционных предметов также должны уделять внимание безопасности аудита, чтобы предотвратить повторение подобных значительных потерь.
!