Платформа для бессрочных контрактов на базе Solana Flash Trade подверглась эксплойту 22 июля, в результате которого было несанкционированно выведено 98 000 USDC. Инцидент произошёл в 00:21 по сингапурскому времени. Как установила команда проекта, причиной стала уязвимость в пути валидации макроса #[ephemeral] Anchor, встроенного в SDK MagicBlock. Этот макрос обрабатывает обратные вызовы, используемые смарт-контрактами интеграторов для обработки запросов на отмену делегирования от экземпляров Ephemeral Rollup.
Злоумышленник развернул программу, которая делегировала фальшивый аккаунт, имитирующий депозит пользователя. В рамках той же транзакции этот аккаунт подставлялся в качестве буфера для параллельной инструкции по отмене делегирования. Макрос проверял, что буфер подписан программой делегирования, но не сверял, соответствует ли он правильным сидам PDA. Это позволило атакующему провести невалидный вывод средств.
Система пакетной обработки и мониторинга Flash Trade, развёрнутая незадолго до атаки, практически мгновенно зафиксировала подозрительную активность. Команда приостановила депозиты, вывод и торги в течение нескольких минут. После консультаций с MagicBlock торговля была возобновлена, однако ввод и вывод средств оставались закрыты примерно 24 часа для сверки балансов. Flash Trade и MagicBlock совместно сформировали резерв, который полностью покрыл потери — ни один пользователь не пострадал.
MagicBlock выпустил исправленную версию SDK 0.16.2, которая по умолчанию закрывает обнаруженную брешь. Компания настоятельно рекомендовала всем интеграторам немедленно обновиться. Генеральный директор Backpack Армани Ферранте прокомментировал ситуацию, назвав её очередным примером эксплойта маржинальной системы, и предложил структурное решение — изолированный, формально верифицированный контракт хранения с 24-часовой задержкой вывода, чтобы минимизировать ущерб от подобных атак.