Протокол Fulcrum DeFi, разработанный bZX, который недавно был перезапущен после серии взломов в феврале, вынудившей команду перегруппироваться, был снова взломан на сумму около 8 миллионов долларов.
По инциденту раскрытие по bZX, виновником является одна строка кода, размещенная в неправильном месте в контракте для ее «iTokens», токена, представляющего долю пользователя в пуле предоставленных активов – по сути, токенизированный баланс депозита.
Исправление было быстро развернуто, чтобы предотвратить дальнейшее возникновение. Как заявил Антон Буков, технический директор 1inch.exchange выделилисправление просто переместило одну строку кода на несколько позиций ниже.
Ошибка дублировала токены, когда пользователь отправлял транзакцию самому себе через определенную функцию. Под капотом контракт просто вычитает стоимость транзакции из суммы отправителя и добавляет ее к стоимости получателя. Контракт создал временные переменные, представляющие начальные балансы отправителя и получателя, и использовал их для их обновления.
Однако в случае, когда получатель и отправитель совпадают, вычитание происходило после того, как были установлены начальные переменные баланса. Это означало, что вычитание не имело никакого эффекта, поэтому злоумышленники могли просто создавать новые токены по своему желанию.
Затем дублированные токены были погашены для их базового обеспечения, при этом хакеры теперь «владеют» гораздо более высоким процентом пула, который позволяет им истощать 219,199,66 ССЫЛКИ, 4,502,70 эфира (ETH), 1,756,351,27 привязки (USDT), 1,412,048,48 доллара США (USDC). и 667 988,62 дай (DAI) на общую сумму 8 миллионов долларов.
Прошлый опыт побудил bZX создать страховой фонд для покрытия этих «событий черного лебедя», и, таким образом, украденные монеты были списаны с фонда, который получает 10% дохода протокола в виде процентных ставок. Тем не менее, протокол Fulcrum был осталось Всего после инцидента было заблокировано всего 6 миллионов долларов.
Таким образом, погашение этого долга может потребовать значительного количества времени и зависит от успеха протокола, несмотря на наличие этих ошибок. Команда bZX взяла на себя твердое обязательство по обеспечению безопасности благодаря многочисленным аудитам со стороны Certik и PeckShield, а также обновленной программе поощрения ошибок.
Этого оказалось недостаточно, что подчеркивает, что создание безопасного протокола DeFi сложнее, чем может показаться.