Уязвимость смарт-контракта — это ошибка или недостаток в коде, который может быть использован злоумышленниками для кражи средств или манипуляции данными. Такие уязвимости могут возникать из-за ошибок в программировании, недостаточного тестирования или сложных механизмов взаимодействия контрактов. Злоумышленники могут использовать эксплойты для вывода средств, изменения параметров транзакций или обхода ограничений. Примеры атак включают уязвимость повторного входа (Reentrancy Attack), манипуляции с оракулом цен или ошибки в проверке разрешений. Для защиты важно проводить аудит кода, тестировать контракты перед развертыванием и использовать проверенные библиотеки безопасности.