Під час атаки на фальшиві депозити 17 липня Solana Relayer втратив 4,5 млн доларів

SOL-2,77%
ACX-1,00%
Key Takeaways
  • Солана-релейєр Risk Labs втратив $4,5 млн 17 липня 2026 року після того, як атакувальник підробив 1 627 подій депозиту.
  • Атакувальник використав відсутню перевірку дискримінатора події Anchor розміром вісім байтів, щоб створити запити на зняття коштів у фальшивій сумі $41,7 млн.
  • Risk Labs вимкнув соланівську маршрутизацію, розгорнув виправлення протягом п’яти годин і відновив повну роботу за дванадцять годин.

Релейєр Solana компанії Risk Labs втратив приблизно 4,5 мільйона доларів 17 липня 2026 року, коли атакувальник використав відсутню перевірку довжиною 8 байтів у коді розбору подій поза ланцюгом (offchain), щоб підробити 1 627 подій депозиту, яких ніколи не було ончейн. Уразливість дозволила шахрайські запити на зняття коштів на загальну суму приблизно 41,7 мільйона доларів у номінальній вартості, з яких 581 було виконано до того, як команда вимкнула роутизацію через Solana та розгорнула виправлення протягом п’яти годин після виявлення. Жодні кошти користувачів не були втрачені або під ризиком, оскільки Across працює як протокол інтенцій: релейєри просувають власний капітал, а не беруть його із спільного сейфу користувачів, тож весь фінансовий ефект був обмежений операційними резервами Risk Labs.

Відсутня перевірка дискримінатора увімкнула підроблені події депозиту

Уразливість існувала в компоненті SvmCpiEventsClient релейєра Risk Labs, який приймав будь-яку внутрішню інструкцію, адресовану контракту SpokePool через його PDA event_authority, як справжню подію без перевірки 8-байтового дискримінатора події Anchor. Атакувальник розгорнув обгорткову програму, яка викликала безпечну операцію читання SpokePool helper-функцію — get_unsafe_deposit_id — і дописала до неї підроблені корисні дані FundsDeposited. З перспективи релейєра вони виглядали як легітимні події депозиту, хоча кошти ончейн не рухалися, баланси не змінювалися і жодних контрактів не було торкнуто. Risk Labs уточнила, що get_unsafe_deposit_id не був уразливістю сам по собі, а лише носієм, який використав атакувальник; першопричина — відсутня перевірка дискримінатора в кодовій базі релейєра.

Атакувальник подав 1 627 підроблених депозитів через 18 ланцюгів

Між 05:07 і 06:14 UTC 17 липня атакувальник подав 1 627 підроблених депозитів з 1 627 одноразових гаманців, розподіливши їх між 18 ланцюгами призначення на умовах номінальної вартості приблизно 41,7 мільйона доларів, що зводилося до однієї EVM-адреси одержувача. Релейєр Risk Labs виконав 581 з цих шахрайських запитів, виплативши приблизно 4,5 мільйона доларів власного капіталу до того, як команда вимкнула Solana як ланцюг-джерело. Решта приблизно 37 мільйонів підроблених депозитів втратили вартість, коли релейєр припинив їх заповнення. Жодні смартконтракти не були скомпрометовані; програми Solana та всі EVM-контракти поводилися рівно так, як було задумано, протягом інциденту.

Дизайн протоколу інтенцій запобіг втраті коштів користувачів

Жодні кошти користувачів не були втрачені в будь-який момент під час інциденту. Across працює як протокол інтенцій: користувачі вносять активи в сейф-контракт на ланцюгу-джерелі, а незалежні релейєри просувають власний капітал, щоб виконувати перекази на ланцюгу призначення. Протокол компенсує релейєрам лише після окремого процесу розрахунків, який підтверджує кожен депозит, який вони заповнили, тож підроблені депозити не торкнулися сейфу користувачів. Кожен реальний депозит користувача було або завершено, або повністю повернено того ж дня. Risk Labs поглинула валову виплату приблизно 4,5 мільйона доларів напряму; за наявності приблизно 500 000 доларів коштів атакувальника, “застряглих” усередині протоколу, чистий збиток становить менш як 4 мільйони доларів і продовжує скорочуватися в міру просування робіт із відновлення.

Risk Labs розгорнула виправлення протягом п’яти годин після виявлення

Перший підроблений депозит було подано о 05:07 UTC 17 липня; потік підроблених депозитів завершився о 06:14 UTC, а перші адреси атакувальника були внесені в чорний список о 06:16 UTC. Solana була вимкнена як ланцюг-джерело і ланцюг призначення в API о 08:23 UTC, Solana SpokePool було зупинено ончейн о 08:35 UTC, і першу публічну заяву оприлюднили о 08:36 UTC. Виправлення першопричини було об’єднано о 09:37 UTC та розгорнуто в усій інфраструктурі Risk Labs о 10:26 UTC — приблизно через п’ять годин після виявлення. Депозити Solana були повторно увімкнені через роутизацію CCTP о 17:05 UTC, відновивши повний сервіс Solana приблизно за 12 годин. Усі інші операції протоколу залишалися незмінними протягом усього інциденту.

Розбір подій Solana проходить повторний аудит

Тепер потік ордерів у Solana роутиться винятково через fallback CCTP-рoутинґ, який Risk Labs заявляє, що охоплює всі основні мережі. Роутизація інтенцій до та з Solana лишається вимкненою, доки команда повторно аудіює логіку розбору подій Solana поза ланцюгом, щоб підтвердити, що цей клас уразливостей повністю закритий, а модель безпеки навколо обробки подій стандартизована в усьому стеку. Risk Labs працює з SEAL 911, який надав майже миттєву підтримку після повідомлення про інцидент, а також із правоохоронними органами США; адреси атакувальника позначені на біржах і off-ramps. Процес викупу токена ACX залишається повністю незачепленим і триває згідно з планом.

FAQ

Чи були втрачені кошти користувачів у атакі релейєра Across на Solana?

Ні, жодні кошти користувачів не були втрачені або під ризиком у будь-який момент. Усі справжні перекази були завершені або повністю повернуті 17 липня 2026 року.

Яка була технічна причина уразливості безпеки в релейєрі Risk Labs?

Уразливість була спричинена відсутністю перевірки 8-байтового дискримінатора події Anchor у позаланчюговому коді релейєра. Це дозволило атакувальнику підробити події депозиту, які релейєр сприймав як реальні, навіть попри те, що кошти не рухалися ончейн.

Як Risk Labs відреагувала на атаку з підробкою у своєму релейєрі Solana?

Risk Labs вимкнула Solana як ланцюг-джерело, призупинила Solana SpokePool ончейн, розгорнула виправлення першопричини приблизно протягом п’яти годин після виявлення та повністю відновила сервіс Solana приблизно за 12 годин, використовуючи fallback CCTP-рoутинґ.

Застереження: інформація на цій сторінці може походити зі сторонніх джерел і надається виключно для ознайомлення. Вона не відображає позицію чи думку Gate і не є фінансовою, інвестиційною чи юридичною консультацією. Торгівля віртуальними активами пов’язана з високим ризиком. Будь ласка, не покладайтеся лише на інформацію з цієї сторінки під час прийняття рішень. Детальніше дивіться у Застереженні.
Прокоментувати
0/400
Немає коментарів