Міст через Axelar від Secret Network втратив приблизно 4,67 мільйона доларів 10 червня під час експлойту, який не виявили до 17 червня. Як ідеться в постмортемі, опублікованому в п’ятницю блокчейн-дослідницькою компанією Common Prefix, атакувальник використав ваду в кастомному токен-контракті CW20-ICS20, який не валідував, з якого каналу надходили вхідні трансфери, що дозволило створювати незабезпечені токени, загорнуті в Secret. Вразливість існувала з моменту первинного розгортання контракту на початку 2023 року, а семиденний проміжок до виявлення стався через те, що шифрування балансових даних у Secret Network приховало відсутній колатерал у ланцюжку.
Експлойт націлювався на модифікований контракт CW20-ICS20 у Secret Network, який обробляє активи, бриджовані з Axelar. Контракт карбував Secret-загорнуті версії активів Axelar, відомі як saTokens, не перевіряючи, з якого каналу походить вхідний трансфер. Атакувальник створив ланцюг Cosmos з одним валідатором, відкрив IBC-канал до бридж-контракті та самостійно ретранслював підроблені пакети з деномінаціями токенів, що збігаються зі списком дозволених у контракті. Контракт не міг відрізнити ці деномінації від тих, що надходили через легітимний канал Axelar, і карбував saTokens проти них. Обмін карбованих балансів назад через легітимний канал Axelar вивільнив фактичні активи, що зберігалися в ескроу. Злиття вплинуло на сім saTokens: saUSDT, saUSDC, saDAI, saWETH, saWBTC, saWBNB та sawstETH, повідомляє Common Prefix.
Common Prefix пов’язала вразливість із первинним розгортанням контракту на початку 2023 року. Міграція від 5 березня, яка оновила байткод для нових функцій, перенесла ту саму відсутність перевірок далі, і атака 10 червня вдарила по цьому мігрованому коду. У дописі на форумі Secret Network заявила, що бридж-контракт адаптували з ескроу-моделі під мейнт модель для інтеграції Axelar, а дві функції, які мали б валідувати джерело трансфера, були видалені під час цього перероблення. Secret Network додала, що Axelar не запитував зовнішнього аудиту як частину інтеграції. Дефіцит сплив 17 червня, коли звичайний кросчейн-трансфер на Axelar завершився помилкою, яка показала, що ескроу-акаунт більше не тримає достатньо, щоб покрити його. Дослідники простежили прогалину до семи виведень, зроблених 10 червня.
Аварійний комітет Axelar вимкнув підключення Secret і Secret-SNIP після виявлення, а кросчейн-роутер Squid прибрав Secret зі свого фронтенду. Axelar заявила, що її базовий протокол не був уражений, і що не торкнулися жодних інших мереж, каналів чи ескроу-акаунтів. Команду Secret повідомили зупинити та мігрувати постраждалий контракт. У наступному дописі Axelar заявила: «Ні Axelar, ні IBC не були скомпрометовані. Використаний токен-смартконтракт не був розроблений, розгорнутий або підтримувався Axelar». Команда сказала, що вразливість не в специфічній для Axelar логіці і не в самому IBC.
Secret Network у дописі на форумі заявила, що близько 770 000 доларів викрадених коштів залишалися в гаманці атакувальника на Axelar на момент публікації. Secret Network повідомила, що ідентифікувала ці активи, позначила їх як такі, що можуть бути відновлені, і подала клопотання команді Axelar заморозити їх або попрацювати з її спільнотою, «запит, від якого Axelar вирішила не відступати». Axelar окремо заявила, що координує роботу з біржами та правоохоронними органами і не надала графік відновлення підключення. Дані Axelarscan, які бачило The Block, показали, що гаманець атакувальника Axelar усе ще тримав 6,2 WBTC, 239 324 USDC, 64,04 WBNB і 248,85 AXL, що коштувало приблизно 672 000 доларів за цінами на момент публікації.
Трасування Common Prefix показує, що атакувальник вивів викрадені активи на Axelar, перекинув їх через Osmosis із використанням автоматизованого пересилання пакетів, а потім переказав на Ethereum і здебільшого обміняв на ether у CoW Protocol. Ether розділили приблизно на 30 переказів на нові гаманці, перш ніж вони потрапили в адреси депозитів на KuCoin, ChangeNow і HitBTC. Обидва токени зросли в ціні протягом останніх 24 годин попри розкриття. AXL від Axelar був приблизно на рівні +1,3%, тоді як SCRT від Secret зріс на 5,6% за минулу добу на момент публікації.
Що стало причиною експлойту бриджу Secret Network на 4,67 мільйона доларів 10 червня?
Експлойт стався, тому що кастомний токен-контракт CW20-ICS20 у Secret Network не зміг валідувати, з якого каналу походять вхідні трансфери. Атакувальник створив ланцюг Cosmos з одним валідатором, відкрив IBC-канал до бридж-контракту та самостійно ретранслював підроблені пакети, які контракт прийняв як легітимні, карбував незабезпечені saTokens, а потім викупив їх за фактичні активи, що зберігалися в ескроу.
Як довго існувала вразливість до атаки 10 червня?
Common Prefix простежила вразливість до первинного розгортання контракту на початку 2023 року. Міграція від 5 березня, яка оновила байткод для нових функцій, перенесла ту саму відсутність перевірок далі, і атака 10 червня використала саме цей мігрований код.
Скільки викрадених коштів лишалося відновлюваними на момент публікації?
Дані Axelarscan, які бачило The Block, показали, що гаманець атакувальника Axelar тримав 6,2 WBTC, 239 324 USDC, 64,04 WBNB і 248,85 AXL, що коштувало приблизно 672 000 доларів за цінами на момент публікації. Secret Network заявила, що подала клопотання до Axelar заморозити ці активи, але Axelar відхилила запит, який вирішила не відступати.
Пов’язані новини
Starknet запускає приватні перекази для захищених активів
DriftProtocol запускає чекер токенів для відновлення DFX після експлойту 1 квітня
Міст Aztec Private Rollup використали для крадіжки активів на 2,15 млн доларів
Повідомлення від компанії SlowMist: протокол BSC Little Boy Plus зазнав атаки, 377 642 USDT було виведено