Команда BlockSec нещодавно виявила два серйозних вразливості в контракті цифрових колекцій. Ці два вразливості можуть призвести до блокування активів користувачів та до того, що вечірка проєкту не зможе вилучити понад 34 мільйони доларів.
!
Перший вразливість стосується функції повернення коштів. Функція повернення коштів у контракті використовує цикл для повернення коштів усім користувачам, але якщо один з цих користувачів є шкідливим контрактом, він може відмовитися приймати повернення коштів і призвести до невдачі всієї транзакції. Це завадить всім користувачам отримати повернення коштів. На щастя, ця вразливість не була використана.
Для проєктів, які мають потребу у поверненні коштів, рекомендується вжити такі заходи безпеки:
Обмежити учасників лише зовнішніми власниками рахунків (EOA)
Використовуйте токени ERC20, такі як WETH, а не рідні активи
Розробити механізм, що дозволяє користувачам активно подавати заявки на повернення коштів, щоб уникнути масових повернень.
!
Другий недолік полягає в кодовій помилці. У функції вилучення коштів проєкту існує помилка в умовному порівнянні. Ця функція повинна порівнювати прогрес повернення коштів з індексом ставки, але помилково порівнює його з загальною кількістю ставок. Оскільки прогрес повернення коштів завжди менший за загальну кількість ставок і більше не збільшується, умова ніколи не може бути виконана. Це призводить до того, що вечірка проєкту не може вилучити кошти, заблоковані в контракті.
Ці вразливості ще раз підкреслили, що відомі проєкти також можуть мати базові помилки. Команда розробників повинна писати достатню кількість тестових випадків і мати базову обізнаність у питаннях безпеки. Хоча аудит безпеки вже став звичайною практикою у сфері децентралізованих фінансів, у проєктах цифрових колекцій він все ще недостатній, і цей інцидент призвів до величезних втрат.
Ця подія нагадує нам, що навіть найпомітніші проєкти можуть мати серйозні вразливості. Це підкреслює важливість проведення всебічного аудиту безпеки під час розробки блокчейн-проєктів, особливо при роботі з великими сумами коштів. Вечірка проєкту повинна приділяти більше уваги безпеці контрактів, щоб запобігти подібним costly помилкам.
!
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
11 лайків
Нагородити
11
4
Поділіться
Прокоментувати
0/400
QuorumVoter
· 08-04 12:28
падіння麻了 ця угода Хто наважиться кинути гроші всередину
Переглянути оригіналвідповісти на0
Ser_APY_2000
· 08-04 12:20
Тридцять мільйонів доларів США так і застрягли? Ой... це справді абсурд.
Переглянути оригіналвідповісти на0
MidnightMEVeater
· 08-04 12:12
Знову заблокували? Ця група невдах заслуговує бути залишеними в холодильнику, як залишки їжі.
BlockSec виявила дві великі вразливості в контракті цифрових колекцій, 34 мільйони доларів США заблоковані
Команда BlockSec нещодавно виявила два серйозних вразливості в контракті цифрових колекцій. Ці два вразливості можуть призвести до блокування активів користувачів та до того, що вечірка проєкту не зможе вилучити понад 34 мільйони доларів.
!
Перший вразливість стосується функції повернення коштів. Функція повернення коштів у контракті використовує цикл для повернення коштів усім користувачам, але якщо один з цих користувачів є шкідливим контрактом, він може відмовитися приймати повернення коштів і призвести до невдачі всієї транзакції. Це завадить всім користувачам отримати повернення коштів. На щастя, ця вразливість не була використана.
Для проєктів, які мають потребу у поверненні коштів, рекомендується вжити такі заходи безпеки:
!
Другий недолік полягає в кодовій помилці. У функції вилучення коштів проєкту існує помилка в умовному порівнянні. Ця функція повинна порівнювати прогрес повернення коштів з індексом ставки, але помилково порівнює його з загальною кількістю ставок. Оскільки прогрес повернення коштів завжди менший за загальну кількість ставок і більше не збільшується, умова ніколи не може бути виконана. Це призводить до того, що вечірка проєкту не може вилучити кошти, заблоковані в контракті.
Ці вразливості ще раз підкреслили, що відомі проєкти також можуть мати базові помилки. Команда розробників повинна писати достатню кількість тестових випадків і мати базову обізнаність у питаннях безпеки. Хоча аудит безпеки вже став звичайною практикою у сфері децентралізованих фінансів, у проєктах цифрових колекцій він все ще недостатній, і цей інцидент призвів до величезних втрат.
Ця подія нагадує нам, що навіть найпомітніші проєкти можуть мати серйозні вразливості. Це підкреслює важливість проведення всебічного аудиту безпеки під час розробки блокчейн-проєктів, особливо при роботі з великими сумами коштів. Вечірка проєкту повинна приділяти більше уваги безпеці контрактів, щоб запобігти подібним costly помилкам.
!