Ви розгорнули смарт-контракти, пройшли аудит, але усвідомлюєте: zero-day вразливості з'являються щодня. Reentrancy, flash loan атаки, маніпуляції оракулами — щомісячні втрати в DeFi перевищують $100M, за даними аналітики. Аудит перевіряє відомі баги, але не захищає від нових атак після деплою. Вихід — активний моніторинг смарт-контрактів у реальному часі, який детектує загрозу та блокує її до того, як викрадуть ліквідність. Найефективніше рішення — комбінація Forta Network та OpenZeppelin Defender.
Ми налаштовуємо моніторинг смарт-контрактів на базі Forta і Defender. Forta — децентралізована мережа детекції аномалій: вона аналізує кожну транзакцію та знаходить підозрілі патерни за допомогою ML-моделей і правил. Defender — платформа управління, яка виконує дії: призупиняє контракти, відкликає права, надсилає сповіщення в Telegram/Slack/email. Разом вони утворюють автоматичний контур безпеки, що працює без участі людини.
Які атаки ми відстежуємо?
- Reentrancy. Forta ловить множинні
callдо одного контракту в одній транзакції. Defender негайно викликаєpause()через Autotask. Типовий кейс — атака на протоколи з неоновленим кодом після EIP-150. - Маніпуляції оракулами. Аномальна зміна ціни Chainlink (стрибок >20% за блок) запускає сповіщення та тимчасове блокування залежних операцій. Наприклад, ми налаштовували захист для AMM-пулу з TVL $5M, де такий бот запобіг потенційному дренажу на $1.2M. А для іншого протоколу з TVL $10M запобігли reentrancy-атаці, яка могла б забрати $2M.
- MEV і flash loan. Кастомні боти розпізнають патерни sandwich-атак і drain ліквідності, аналізуючи послідовності викликів. Додатково моніторимо масові
approve— якщо за блок їх більше 10, це ознака атаки.
Як Forta і Defender працюють разом?
Forta швидше детектує (1-2 секунди), але не вміє автоматично реагувати. Defender повільніший (до хвилини при polling), але виконує дії: pause, revoke, transfer. Ми з'єднуємо їх: Forta шле alert у Defender через webhook, а Defender запускає Autotask, який блокує атаку. Час реакції — не більше 10 секунд, що критично для захисту ліквідності. Як зазначено в офіційній документації OZ Defender, Autotasks дозволяють виконувати довільні JavaScript-скрипти при настанні подій.
Процес налаштування під ключ
Налаштування проходить п'ять етапів:
- Аналіз контрактів: вивчаємо код, виявляємо критичні функції (withdraw, mint, transferOwnership). Складаємо карту атак.
- Налаштування ботів Forta: розгортаємо готові боти (reentrancy-counter) і пишемо кастомні під ваш протокол.
- Інтеграція Defender: підключаємо контракти, налаштовуємо Admin і Relay, пишемо Autotasks на JS для паузи або відкликання прав.
- Тестування: симулюємо атаки на тестнеті за допомогою Foundry. Переконуємося, що детекція та реакція працюють без хибних спрацьовувань.
- Запуск і навчання: переносимо конфігурацію в mainnet, передаємо доступи, проводимо дві сесії для вашої команди.
| Етап | Опис | Орієнтовний час |
|---|---|---|
| Аналіз контрактів | Вивчаємо код, виявляємо критичні функції (withdraw, mint, transferOwnership). Складаємо карту атак. | 1-2 дні |
| Налаштування ботів Forta | Розгортаємо готові боти (reentrancy-counter) і пишемо кастомні під ваш протокол. | 1-3 дні |
| Інтеграція Defender | Підключаємо контракти, налаштовуємо Admin і Relay, пишемо Autotasks на JS для паузи або відкликання прав. | 1-2 дні |
| Тестування | Симулюємо атаки на тестнеті за допомогою Foundry. Переконуємося, що детекція та реакція працюють без хибних спрацьовувань. | 1-2 дні |
| Запуск і навчання | Переносимо конфігурацію в mainnet, передаємо доступи, проводимо дві сесії для вашої команди. | 1 день |
Порівняння сценаріїв реакції
| Атака | Детекція | Реакція | Час реакції |
|---|---|---|---|
| Reentrancy | Множинні call | Autotask викликає pause() | <5 секунд |
| Flash loan drain | Аномалії ліквідності | Блокування пулу, сповіщення | <10 секунд |
| Oracle manipulation | Стрибок ціни >20% | Тимчасове заморожування операцій | <10 секунд |
| Mass approve | >10 approve за блок | Revoke прав, сповіщення | <5 секунд |
| Access control attack | Неавторизований виклик sensitive function | Revoke ролі, пауза контракту | <5 секунд |
Приклад кастомного бота на Forta
const { ethers } = require('ethers'); const THRESHOLD = 10; async function handleTransaction(txEvent) { const approves = txEvent.filterLog('Approval(address,address,uint256)'); if (approves.length > THRESHOLD) { return [{ alertId: 'MASS-APPROVE', severity: 'High', metadata: { count: approves.length.toString() } }]; } return []; } Технічні деталі налаштування Defender Autotask
Ми використовуємо Defender Autotasks з тригером "Event" на подію Paused() або Withdraw(). Autotask викликає pause() через Relayer з gas-лімітом 200k. Результат логується в Defender Dashboard.
Що входить у послугу
- Документація всіх ботів, тригерів і дій.
- Дашборди Forta Explorer і Defender Admin.
- RBAC-доступи для вашої команди.
- Підтримка 2 тижні після запуску.
- Гарантія 95% виявлення атак і реакції до 10 секунд.
- Моніторинг комісій газу — сповіщення при аномальних витратах на транзакції.
Терміни та вартість
Стандартне налаштування одного контракту (до 10 функцій, одна мережа) займає від 5 до 10 робочих днів. Для складних проектів із крос-чейн моніторингом термін розраховуємо індивідуально. Вартість фіксується після аналізу ваших контрактів. Якщо в перший місяць виникають хибні спрацьовування або пропуск атаки — безкоштовно доналаштовуємо ботів.
Зв'яжіться з нами для детального розрахунку — ми оцінимо ваш проект за один день. Покажемо приклади конфігурацій для протоколів з TVL понад $10M. Досвід команди — 10+ років у блокчейн-безпеці, кожен інженер особисто писав ботів для Forta та налаштовував Defender у production. Замовте налаштування моніторингу прямо зараз.







