AI-система автоматического обнаружения уязвимостей в смарт-контрактах
Автоматическая детекция уязвимостей смарт-контрактов решает задачу масштабируемости: тысячи новых контрактов деплоятся ежедневно, ручной аудит каждого нереалистичен. AI обеспечивает continuous security monitoring.
Классы уязвимостей
Reentrancy
Классика DeFi-взломов: The DAO ($60M, 2016), Cream Finance ($130M, 2021). Контракт вызывает external contract до обновления собственного state. Атакующий в fallback функции повторно вызывает withdraw.
Детекция: анализ call graph — external calls до state changes в одной функции. Static taint analysis: отслеживание потока данных от balance до call.
Integer Overflow/Underflow
До Solidity 0.8: 255 + 1 = 0 для uint8. Атакующий обнуляет баланс или создаёт миллиарды токенов. В новых версиях — встроенная защита, но кастомный unchecked блок возвращает уязвимость.
Детекция: поиск unchecked{} блоков с арифметикой, верификация диапазонов через symbolic execution (Manticore, Echidna).
Price Oracle Manipulation
Единственный ценовой оракул (особенно on-chain на основе spot price AMM) — вектор атаки через flash loans. Атакующий манипулирует ценой в одной транзакции.
Детекция: анализ использования block.timestamp, tx.origin, одиночных ценовых источников. Рекомендация: TWAP оракулы с несколькими источниками.
Access Control
Отсутствие модификаторов, неправильная логика ролей, privileged functions доступные публично. Особо опасны: функции mint, pause, upgrade, withdraw without restrictions.
Flash Loan Attack Surface
Анализ бизнес-логики на уязвимость к single-transaction manipulation: любые операции, где большой баланс или borrowed asset дают непропорциональное преимущество.
Методы обнаружения
Symbolic Execution
Исполнение всех возможных путей кода с символическими (не конкретными) значениями. Инструменты: Manticore, Mythril. Позволяет находить уязвимости через полное покрытие путей, но масштабируется плохо на сложные контракты (state explosion).
Fuzzing
Генерация случайных/полуслучайных входных данных для провоцирования ошибок. Echidna (property-based fuzzing для Solidity), Foundry Forge fuzzer. ML-guided fuzzing: обучение на истории успешных эксплойтов для направленного поиска.
Pattern Matching + ML
CodeBERT embeddings кода + классификатор по типам уязвимостей. Обучение на датасете верифицированных уязвимых контрактов. Преимущество: высокая скорость (секунды на контракт), масштабируемость.
Continuous Monitoring
После деплоя: мониторинг on-chain активности контракта для обнаружения exploitation паттернов:
- Аномальные объёмы транзакций
- Необычные последовательности вызовов функций
- Flash loan + contract interaction в одной транзакции
- Drain events (большие выводы после необычной активности)
Alert time: минуты после начала эксплойта (Euler Finance exploit детектировался бы за 12 минут с таким мониторингом).
Интеграция с bug bounty: автоматическая публикация потенциальных уязвимостей в Immunefi/HackerOne для community verification.







