Минулої середи, 4 вересня, DeFi-протокол Notional Finance зіткнувся із серйозним інцидентом у сфері безпеки. Злом став можливим завдяки експлуатації критичної помилки в застарілому контракті першої версії (V1) платформи, яка все ще залишалася активною в інфраструктурі проєкту.

Корінь проблеми криється в некоректній обробці даних під час конвертації типів. Зловмисник штучно генерував боргову позицію, яка під час перевірки коефіцієнта забезпечення відображалася як нульова через баг у логіці перетворення. Це дозволило обійти механізми контролю застави та вивести ліквідність безпосередньо з пулу.

Масштаб втрат і маршрут атаки

За моїми даними, сукупні збитки склали близько 69 000 DAI та 1,66 млн USDC, що в еквіваленті перевищує $1,7 млн. Атака була технічно витонченою: хакер діяв швидко та розважливо, мінімізуючи часове вікно для можливого втручання з боку команди або моніторингових сервісів.

Виведені стейблкоїни були негайно конвертовані приблизно в 689 ETH. Далі кошти перемістилися до Tornado Cash — мікшера, який суттєво ускладнює відстеження транзакцій у публічному блокчейні. Це стандартна практика для професійних кіберзлочинців, які прагнуть приховати сліди перед подальшим переміщенням капіталу.

Інцидент підкреслює системну проблему багатьох DeFi-протоколів: навіть після міграції на нові версії, старі контракти часто залишаються «бомбами уповільненої дії». Командам необхідно проводити повний аудит та верифікацію всіх історичних смарт-контрактів, а не лише актуальних.

Мій аналіз: Цей випадок — чергове нагадування про те, що ліквідність у DeFi завжди пов'язана з ризиком legacy-коду. Notional Finance доведеться не лише компенсувати втрати, але й переглянути підхід до управління життєвим циклом своїх контрактів. Інвесторам же варто враховувати, що навіть репутаційно стійкі проєкти можуть бути вразливими через забуті версії свого програмного забезпечення.