
Зловмисник використав застарілий контракт картки Rain 28 серпня, вивівши приблизно $1,1 мільйона з кількох програм стейблкоїн-карток, що працюють на Solana, за даними блокчейн-безпекової компанії Blockaid.
Avici та Tria були серед постраждалих криптонеобанків. Дві компанії розкрили загальні збитки у понад $932 800 серед 2321 користувача. Blockaid заявила, що інші програми, що підтримуються Rain, також були скомпрометовані, довівши оцінені збитки до приблизно $1,1 мільйона.
Зловмисник не отримав доступу до самостійних гаманців клієнтів або приватних ключів. Натомість експлойт був спрямований на заставні контракти, що утримували стейблкоїни, які користувачі депонували для поповнення своїх карткових балансів.
Rain заявила, що її системи моніторингу виявили вразливість, яка зачіпає «невелику кількість програм», що використовують застарілу версію її контракту картки Solana. Компанія оновила кожну програму, яка все ще працювала на зачепленій версії, згідно з її публічною заявою.
Цей інцидент додає занепокоєння щодо вразливостей контрактів та операційної діяльності. Збої в криптобезпеці спричинили приблизно $1,1 мільярда збитків у першій половині 2026 року, згідно з дослідженням, опублікованим Blockaid.
Rain надає інфраструктуру, яка дозволяє криптокомпаніям випускати картки, поповнювані стейблкоїнами. Коли клієнти поповнюють свої картки, депоновані активи надходять на заставні рахунки, керовані за допомогою ончейн-контрактів.
Ці баланси відокремлені від активів, що зберігаються в особистих гаманцях клієнтів. Як тільки кошти надходять на заставний контракт картки, їх безпека залежить від коду постачальника інфраструктури та контролю авторизації.
Blockaid ідентифікувала чотири розгортання, що містять код з тим самим хешем опкоду, що й вразливий контракт. Компанія з безпеки заявила, що зловмисник вивів кошти щонайменше з двох розгортань. Інші два, як повідомляється, мали таку ж вразливість, але не мали підтверджених втрат.
Rain підтвердила, що інцидент був спричинений застарілим контрактом. Однак компанія не опублікувала повний технічний звіт, що ідентифікує кожне постраждале розгортання або пояснює, чому деякі програми продовжували використовувати старішу версію.
Ситуація нагадує інші інциденти, коли застаріла або багаторазово вразлива інфраструктура залишалася активною. У пов’язаних повідомленнях зловмисники двічі протягом двох місяців використовували той самий контракт мосту Verus, що викликало подібні питання щодо оновлень у спільних розгортаннях.
Інцидент з Rain не був компрометацією самої Solana. Блокчейн продовжував нормально обробляти транзакції, тоді як зловмисник використовував код додатку, розгорнутий у мережі.
Застарілий контракт Rain вимагав двох незалежних авторизацій, перш ніж дозволити певні дії з рахунком. Він використовував інструкції перевірки Ed25519 Solana для підтвердження необхідних підписів.
Згідно з аналізом Blockaid, зловмисник маніпулював другою інструкцією перевірки. Його підпис, відкритий ключ та зсуви повідомлення вказували на інформацію, що містилася в першій інструкції.
Вразливий контракт, таким чином, прийняв один підпис, контрольований зловмисником, як два незалежні дозволи. Це дозволило зловмиснику задовольнити вимогу авторизації без дозволу власників заставних рахунків.
Обійшовши перевірку підпису, зловмисник використав інструкцію AddCollateralAdmin, щоб надати собі адміністративні привілеї над окремими рахунками. Потім він викликав WithdrawCollateralAsset для переказу USDC та USDT з цих рахунків.
Blockaid зафіксувала 2945 додавання адміністраторів та 5288 викликів виведення. Компанія ідентифікувала 8233 основні транзакції експлойту протягом приблизно двох годин та 29 хвилин.
Операція відбувалася автоматизовано. Blockaid заявила, що перші два успішні виведення відбулися з інтервалом у три секунди, що вказує на те, що зловмисник підготував систему для націлювання на кілька рахунків.
Клієнти не авторизували зловмисні транзакції. Експлойт відбувся на рівні контракту, що означає, що захист від фішингу або зловмисних підписів гаманця не запобіг би цим виведенням.
Інша слабкість на рівні додатку нещодавно викрила інший протокол, коли несправні механізми контролю застави дозволили експлойт DeFi на $75 мільйонів. В обох випадках базові мережі продовжували працювати, тоді як логіка додатку дозволяла несанкціоновану діяльність.
Виведені USDC та USDT накопичилися в одному гаманці Solana, ідентифікованому як FVNFzqAny8spWdPmYw6RQ9TkYa29ueFFiqCFD1gQnCEj.
Зловмисник обміняв стейблкоїни на SOL через децентралізовані торгові платформи. Потім Blockaid відстежила надходження коштів з Solana до Ethereum через кросчейн-протокол deBridge.
Приблизно 455,9 ETH надійшли до Tornado Cash між 19:20 та 19:49 UTC, згідно з Blockaid. Tornado Cash об'єднує депозити та дозволяє виведення на адреси, які не пов'язані публічно з початковими гаманцями-відправниками.
Міксер, таким чином, ускладнив відстеження подальших переміщень за публічними блокчейн-записами. Blockaid заявила, що викрадені кошти не були повернуті після надходження до Tornado Cash.
Використання кросчейн-інфраструктури додало ще один етап до маршруту відмивання. Криптомости також стали прямими мішенями: раніше у 2026 році експлойт з підробленим переказом вивів $11,5 мільйона з мосту Verus Ethereum.
Blockaid пов'язала дві адреси Ethereum з початковим фінансуванням діяльності зловмисника Rain на Solana. Ні Rain, ні правоохоронні органи публічно не ідентифікували осіб, які контролюють ці адреси.
Заяви компанії щодо виявлення атаки та відстеження коштів є її власними висновками. Blockaid надає послуги безпеки та моніторингу криптокомпаніям, включаючи емітентів стейблкоїн-карток.
Avici повідомила, що зловмисник вивів $500 859,22 з карткових балансів, що належать 1685 користувачам. Компанія заявила, що відшкодувала кошти всім постраждалим клієнтам та надала 10% кешбеку після інциденту.
Tria розкрила приблизно $431 945 збитків серед 636 клієнтів. Вона заявила в офіційному оновленні, що кожному постраждалому клієнту буде відшкодовано кошти.
Дві розкриті суми становлять $932 804,22 від оцінених збитків. Blockaid також назвала Solayer Pay серед постраждалих програм, але незалежно підтверджених даних про її збитки не було.
Різниця між розкритими збитками Avici та Tria та оцінкою Blockaid у $1,1 мільйона, схоже, стосується інших програм, що підтримуються Rain. Повний розподіл не було опубліковано.
Токен Avici впав на 49% від свого денного максимуму після появи повідомлень про експлойт, згідно з ринковими даними. Токен досяг зареєстрованого мінімуму в $0,217, перш ніж частково відновитися. Токен Tria також одного разу знизився більш ніж на 10%.
Ці цінові рухи відбулися після публічних повідомлень про атаку, хоча ширші ринкові умови також могли вплинути на торгівлю.
Rain заявила, що всі карткові програми, що використовували застарілий контракт, були оновлені. Компанія не зафіксувала додаткової несанкціонованої діяльності після завершення змін.
Вона також заявила, що постраждалим користувачам буде відшкодовано збитки. Rain не розкрила, чи відшкодуватиме вона кошти безпосередньо картковим програмам, чи окремі постачальники нестимуть витрати.
Кілька питань залишаються без відповіді. Rain не опублікувала повну історію версій вразливого контракту, дату впровадження недоліку або причину, чому старіші розгортання залишалися активними.
Компанія також не розкрила, чи виявив аудит недолік авторизації до атаки. Про повернення коштів, депонованих у Tornado Cash, публічно не повідомлялося.
Цей епізод знову ставить питання про те, чи забезпечують періодичні аудити достатній захист після введення контрактів в експлуатацію. Нещодавні галузеві дослідження виявили, що установи все частіше бажають безперервного моніторингу поряд з традиційними аудитами безпеки, особливо для контрактів, що утримують активи користувачів.
Детальний технічний звіт дозволив би стороннім дослідникам підтвердити вразливість та визначити, чи залишається подібний код активним деінде. Постачальники карток також можуть переглянути, як вони відстежують версії контрактів та обмежують адміністративні дозволи у спільній інфраструктурі.
Користувачі можуть зберігати контроль над своїми особистими гаманцями, але все ще стикаються з ризиками після депонування коштів у карткову програму. Безпека цих балансів залежить від контрактів, що утримують заставу, провайдера, який їх підтримує, та операторів, які реагують на появу вразливостей.





