DeFi-платформа: от уязвимостей в смарт-контрактах к росту TVL в 3 раза
$150M
вырос TVL
2+5
критические и средние уязвимости устранены
98%
покрытие тестами смарт-контрактов
20
мин стало занимать регресс тестирование
Сфера
DeFi
(децентрализованные финансы),
блокчейн
(децентрализованные финансы),
блокчейн
Продукт
Платформа на Ethereum
для кредитования и стейкинга под залог криптоактивов
для кредитования и стейкинга под залог криптоактивов
Запрос клиента
Проверить безопасность смарт-контрактов и исключить риски потери средств пользователей, взлома и потери средств. Ускорить и автоматизировать регрессионное тестирование
Наши задачи
Провести аудит Solidity-кода на уязвимости
Повысить качество тестирования и довести покрытие кодовой базы доуровня, гарантирующего стабильность (близкого к 100%)
Настроить end-to-end тестирование через MetaMask, максимально приближенное
к реальным сценариям
к реальным сценариям
Встроить автотесты в CI/CD, чтобы ускорить регрессию и исключить человеческие ошибки
Сократить длительность время регрессионного тестирования до приемлемого для CI/CD
Что мы сделали
1.
Провели аудит смарт-контрактов. Проверили код на Solidity
с помощью Slither, Mythril и ручного анализа. Нашли 2 критические
и 5 средних уязвимостей, которые могли затронуть до 20% TVL.
с помощью Slither, Mythril и ручного анализа. Нашли 2 критические
и 5 средних уязвимостей, которые могли затронуть до 20% TVL.
2.
Исправили найденные проблемы и провели повторную проверку. После фиксов убедились,
что контракты проходят тесты без регрессий и логических коллизий.
что контракты проходят тесты без регрессий и логических коллизий.
3.
Расширили юнит-тесты и покрытие. Доработали тесты
в Hardhat и Foundry: покрытие выросло с 60% до 98%, добавлены негативные сценарии и проверки всех `require`.
в Hardhat и Foundry: покрытие выросло с 60% до 98%, добавлены негативные сценарии и проверки всех `require`.
4.
Автоматизировали пользовательские сценарии. Настроили E2E-тестирование через Playwright и MetaMask:
от подключения кошелька
до полного цикла операций (депозит, заём, погашение, вывод).
от подключения кошелька
до полного цикла операций (депозит, заём, погашение, вывод).
5.
Интегрировали тесты в CI/CD. Настроили пайплайн GitLab CI/CD, что сократило время регресса
с 2 дней до 20 минут.
с 2 дней до 20 минут.
6.
Передали экспертизу команде клиента. Обучили разработчиков
и QA анализировать результаты тестов, чтобы поддерживать высокий уровень безопасности при будущих релизах.
и QA анализировать результаты тестов, чтобы поддерживать высокий уровень безопасности при будущих релизах.
Технологии
Solidity
язык программирования для контрактов
Hardhat
среда разработки Ethereum
Foundry
тестирования смарт-контрактов
Slither
детектор уязвимостей
Mythril
для анализа смарт-контрактов
Playwright
Инструмент комплексного тестирования
TypeScript
Фронт/бэк
MetaMask
безопасный и гибкий криптокошелек
Ethereum
криптовалюта и платформа
GitLab CI/CD
Процессы сборки и тестирования
Что получил клиент
Повышенную безопасность: устранены критические уязвимости, угрожавшие до 20% TVL.
Автоматизированные проверки, которые выполняются в 100+ раз быстрее ручного регресса.
Рост доверия: успешное прохождение двух внешних аудитов и публикация отчётов
для сообщества.
для сообщества.
Уверенность в релизах и готовность
к масштабированию.
к масштабированию.
Итоги работы
x3
рост TVL за 3 месяца
-99%
t на регрессионное тестирование
98%
покрытия
тестами
тестами
-7
уязвимостей
Одна уязвимость может стоить миллионы. Проверьте смарт-контракты и CI/CD до того, как это сделают хакеры.