Вразливість у занедбаному контракті Aztec Connect призвела до втрати $2,1 млн: детальний розбір інциденту

Сьогодні я отримав сигнал про серйозний інцидент в екосистемі Aztec Network. Зловмисник зумів вивести приблизно $2,1 млн із застарілого смарт-контракту платформи Aztec Connect — рішення для приватних транзакцій, яке було деактивоване ще у 2023 році. Атака торкнулася immutable-контракту, що не підлягає оновленню, що зробило захист коштів неможливим.
Як відбулася атака?
Згідно з моїм аналізом, корінь проблеми криється в невідповідності між логікою верифікації транзакцій та їхнім фінальним розрахунком на рівні Ethereum (L1). Експерти BlockSec вже вказали на те, що через відмінності в інтерпретації списку транзакцій контракт міг зараховувати кошти без належної перевірки в основній мережі. Зловмисник скористався цим, створивши незабезпечені баланси та провівши виведення за сімома різними активами.
Що було викрадено?
Дані від Certik підтверджують масштаб: серед вкрадених активів — 909 ETH, 270 000 DAI, 167 wstETH та низка інших токенів. Важливо підкреслити, що атака була спрямована виключно на стару інфраструктуру Aztec Connect, яка з березня 2023 року не приймала депозити. Команда Aztec Labs запевнила, що поточна мережа проекту та кошти користувачів у ній не постраждали.
Чому це сталося саме зараз?
Aztec Connect був запущений у 2022 році як DeFi-міст для приватних операцій. Після його деактивації команда повністю переключила ресурси на розробку нового L2-протоколу Ignition Chain, який був запущений у мейннеті Ethereum у листопаді 2025 року. Ключовий момент: розробники не мають адміністративних ключів до старих контрактів і не можуть їх зупинити або оновити. Це класичний приклад ризику «мертвого коду», коли занедбані, але все ще активні контракти стають мішенню для хакерів.
Мій експертний висновок
Цей інцидент слугує суворим нагадуванням для всієї індустрії. Навіть якщо протокол припинив роботу, кошти, що залишилися в immutable-контрактах, залишаються вразливими. Командам необхідно передбачати механізми безпечного виведення ліквідності при деактивації, а користувачам — своєчасно виводити активи із застарілих версій. У цьому випадку зловмисник просто скористався «сплячою» вразливістю, яку ніхто не міг виправити. Це ще один аргумент на користь більш ретельного аудиту lifecycle-процесів у DeFi.