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

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

!

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

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

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

!

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

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

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

!

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
QuorumVotervip
· 08-04 12:28
падение麻了 эта контракт Кто осмелится вложить деньги
Посмотреть ОригиналОтветить0
Ser_APY_2000vip
· 08-04 12:20
Тридцать миллионов долларов просто застряли? Ах да... это действительно абсурдно.
Посмотреть ОригиналОтветить0
MidnightMEVeatervip
· 08-04 12:12
Снова заблокированы? Эта группа неудачников заслуживает быть остатками еды в холодильнике
Посмотреть ОригиналОтветить0
StakeTillRetirevip
· 08-04 12:05
Вернуть налог на интеллект действительно сложно, уф.
Посмотреть ОригиналОтветить0
  • Закрепить