Нещодавно одна безпекова компанія виявила два серйозні вразливості в контракті цифрових колекцій, які можуть призвести до блокування активів користувачів або неможливості виведення коштів вечірки проєкту.
Перший вразливий елемент знаходиться в функції обробки повернень. Ця функція використовує цикл для повернення коштів всім користувачам, але якщо об'єкт повернення є зловмисним контрактом, він може відмовитися приймати й привести до збою транзакції, що, в свою чергу, вплине на операції повернення коштів всіх користувачів. На щастя, ця вразливість не була використана.
Щодо подібних сценаріїв повернення коштів, експерти радять вжити такі заходи безпеки:
Обмеження, що лише звичайні користувачі можуть брати участь у вечірці проєкту.
Використання токенів (наприклад, WETH) замість рідних активів
Розробити механізм, який дозволяє користувачам самостійно отримувати повернення, щоб уникнути масових повернень.
!
Другий недолік – це помилка в коді. У функції вилучення коштів вечірки проєкту є помилка в умовному порівнянні. Це порівняння повинно порівнювати прогрес повернення коштів з індексом заявки, але помилково порівнює з загальною кількістю заявок. Оскільки прогрес повернення коштів завжди менший за загальну кількість заявок і більше не збільшується, умовне порівняння завжди не виконується, внаслідок чого кошти вечірки проєкту залишаються заблокованими в контракті. Наразі заблоковано активів на понад 34 мільйони доларів.
!
Ця подія знову підкреслила важливість безпеки проєкту. Навіть у відомих проєктах можуть виникати грубі помилки. Розробницька команда повинна написати достатню кількість тестових випадків і виховувати базову свідомість безпеки. Хоча у сфері децентралізованих фінансів безпечний аудит став звичною практикою, у проєктах цифрових колекцій все ще існують недоліки, і ця подія призвела до величезних втрат.
Ця подія нагадує нам, що незалежно від масштабу вечірки проєкту, слід приділяти увагу безпеці смарт-контрактів та проводити всебічний аудит безпеки, щоб запобігти виникненню подібних проблем.
!
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
12 лайків
Нагородити
12
8
Репост
Поділіться
Прокоментувати
0/400
AirdropBlackHole
· 8год тому
Це найсильніший обман для дурнів.
Переглянути оригіналвідповісти на0
QuorumVoter
· 22год тому
Старий інженер просто вражений професіоналізмом.
Переглянути оригіналвідповісти на0
ShadowStaker
· 22год тому
класичний приклад поганої архітектури управління, смх...
Переглянути оригіналвідповісти на0
MevTears
· 22год тому
Аварії з контрактами вже стали звичним явищем.
Переглянути оригіналвідповісти на0
CryptoPunster
· 22год тому
Громадянин безхатька безпеки. Все в залежності від долі.
Переглянути оригіналвідповісти на0
AirdropCollector
· 22год тому
Скорочення втрат біжить добре, навіть капітал не повернути.
Переглянути оригіналвідповісти на0
BearMarketSurvivor
· 23год тому
Не вмієте писати код, а смієте грати в смартконтракти!
Переглянути оригіналвідповісти на0
HalfIsEmpty
· 23год тому
Знову контроль не на висоті шкодить і собі, і іншим
Вразливість контракту цифрових колекцій призвела до блокування активів на 34 мільйони доларів США. Експерти наголошують на важливості аудиту безпеки.
Нещодавно одна безпекова компанія виявила два серйозні вразливості в контракті цифрових колекцій, які можуть призвести до блокування активів користувачів або неможливості виведення коштів вечірки проєкту.
Перший вразливий елемент знаходиться в функції обробки повернень. Ця функція використовує цикл для повернення коштів всім користувачам, але якщо об'єкт повернення є зловмисним контрактом, він може відмовитися приймати й привести до збою транзакції, що, в свою чергу, вплине на операції повернення коштів всіх користувачів. На щастя, ця вразливість не була використана.
Щодо подібних сценаріїв повернення коштів, експерти радять вжити такі заходи безпеки:
!
Другий недолік – це помилка в коді. У функції вилучення коштів вечірки проєкту є помилка в умовному порівнянні. Це порівняння повинно порівнювати прогрес повернення коштів з індексом заявки, але помилково порівнює з загальною кількістю заявок. Оскільки прогрес повернення коштів завжди менший за загальну кількість заявок і більше не збільшується, умовне порівняння завжди не виконується, внаслідок чого кошти вечірки проєкту залишаються заблокованими в контракті. Наразі заблоковано активів на понад 34 мільйони доларів.
!
Ця подія знову підкреслила важливість безпеки проєкту. Навіть у відомих проєктах можуть виникати грубі помилки. Розробницька команда повинна написати достатню кількість тестових випадків і виховувати базову свідомість безпеки. Хоча у сфері децентралізованих фінансів безпечний аудит став звичною практикою, у проєктах цифрових колекцій все ще існують недоліки, і ця подія призвела до величезних втрат.
Ця подія нагадує нам, що незалежно від масштабу вечірки проєкту, слід приділяти увагу безпеці смарт-контрактів та проводити всебічний аудит безпеки, щоб запобігти виникненню подібних проблем.
!