DeFi-сектор вновь стал ареной для атаки: на этот раз под удар попал протокол Notional Finance. Инцидент произошел 4 сентября, и, как показывает мой анализ, корень проблемы кроется в устаревшем смарт-контракте первой версии (V1), который так и не был полностью деактивирован после миграции на новую архитектуру.
Злоумышленник обнаружил критическую уязвимость, связанную с некорректным преобразованием типов данных. В результате искусственно сгенерированная задолженность при проверке обеспечения отображалась как нулевая. Это классический случай манипуляции с логикой валидации, когда система видит не то, что есть на самом деле, а то, что подсунул атакующий. Такой подход позволяет обойти механизмы безопасности, не прибегая к грубому взлому.
По моим данным, хакеру удалось вывести из контракта около 69 000 DAI и 1,66 млн USDC. Суммарный ущерб превысил $1,7 млн, что подтверждает серьезность проблемы даже для протоколов, которые считаются закаленными в боях. Специалисты по безопасности, включая команду CertiK, оперативно отреагировали на инцидент и зафиксировали следы атаки.
Примечательно, что похищенные активы не остались в оригинальном виде. Киберпреступник конвертировал их в примерно 689 ETH и направил средства в Tornado Cash. Использование миксера — стандартный шаг для сокрытия следов, что затрудняет отслеживание транзакций и возврат средств. Это подчеркивает, насколько важно для проектов не только закрывать уязвимости, но и внедрять механизмы мониторинга подозрительной активности.
Выводы аналитика
Этот случай — очередное напоминание о том, что DeFi-протоколы должны уделять особое внимание жизненному циклу смарт-контрактов. Оставление старых версий активными после апгрейда — это бомба замедленного действия. На мой взгляд, Notional Finance стоило бы провести полный аудит всех неиспользуемых контрактов и внедрить автоматические "предохранители", которые блокируют операции с подозрительными параметрами. Индустрия учится на ошибках, но цена этих уроков становится все выше.