
10 июня 2026 года злоумышленник опустошил пять пулов ликвидности Raydium, которые не использовались с 2021 года. Деньги годами лежали в законсервированных контрактах — никто о них не вспоминал. Кроме одного человека.
Введение
Raydium — одна из крупнейших децентрализованных бирж на блокчейне Solana. Биржа запустилась в 2021 году и работала в связке с торговой платформой Serum. Когда в конце 2022 года биржа FTX рухнула, вместе с ней прекратила работу и значительная часть инфраструктуры Serum. Пять пулов ликвидности Raydium — Sollet USDT-RAY, Sollet ETH-RAY, SRM-RAY, USDC-RAY и RAY-SOL — были отключены от интерфейса и фактически выведены из эксплуатации.
Но «отключены от интерфейса» не означает «удалены из блокчейна». Смарт-контракты в блокчейне существуют постоянно — их нельзя просто стереть. И средства в этих пулах никуда не делись: они продолжали лежать в старых контрактах, к которым через сайт Raydium уже нельзя было обратиться. Злоумышленник нашёл способ обратиться к ним напрямую.
Ход инцидента
1️⃣ Поддельный LP-токен. Чтобы вывести средства из пула ликвидности, нужно предъявить LP-токен — это своеобразная «квитанция», подтверждающая, что ты действительно вносил средства в пул. Злоумышленник создал фальшивый LP-токен с эмиссией всего в 1 штуку — то есть существовал единственный экземпляр этого токена, выпущенный самим атакующим без внесения каких-либо реальных активов.
2️⃣ Обход проверки. Старая программа Raydium Legacy AMM V3 проверяла LP-токен недостаточно тщательно: она не сверяла адрес токена с нужными данными аккаунта должным образом. Из-за этого поддельный токен прошёл проверку, и контракт «поверил», что атакующий является законным владельцем доли в пуле.
3️⃣ Вывод средств. Предъявив фальшивую «квитанцию», злоумышленник вывел из пяти неактивных пулов около 150 177 RAY, 5 603 SOL и 893 700 USDC — итого примерно $1,34 млн.
Почему это стало возможным
Уязвимость была в старой программе Legacy AMM V3. При проверке LP-токена программа опиралась на общий объём его эмиссии — то есть на то, сколько таких токенов существует всего. Злоумышленник создал токен с эмиссией в 1 штуку, и это позволило пройти мимо проверок пропорций, которые управляют тем, кому и сколько активов полагается при выводе.
Современные программы Raydium устроены иначе: они используют механизм «виртуальной эмиссии» и проверяют LP-токен вместе с другими данными аккаунта одновременно. Такая схема делает подобную атаку невозможной.
Но есть и более широкая проблема. Когда проект «отключает» старый контракт — он просто перестаёт показывать его в интерфейсе. Сам контракт при этом продолжает существовать в блокчейне и, если в нём осталась ликвидность, остаётся потенциальной целью. Устаревший код без актуальных проверок безопасности — это открытая дверь, о которой все забыли.
Детали расследования: движение средств
Злоумышленник вывел средства на адрес в сети Solana: 4WnPebowR4HHfumvNPaDjG6Pa5Hi1jxLm6xmmBq33QVk
Там RAY и SOL были обменяны на USDC через Jupiter Aggregator — это агрегатор обменных курсов на Solana, который автоматически находит лучший маршрут для свапа.
Затем средства были переведены в сеть Ethereum через мост DeBridge — сервис, позволяющий перемещать активы между разными блокчейнами. На стороне Ethereum средства поступили на адрес 0x0EaBAAb9a56011c6158D4aA7f2E49A82fB34E609.
Далее пути разошлись:
— 810 ETH были направлены в Tornado Cash для анонимизации 7 ETH
— на адрес 0x39a75b67b6639280F3Edbe81A68F7aD8d3b27F2f 0,65 ETH
— на адрес 0x179e186e43922BE2fF5c93266b7bEa0b994CdBeB
Последние два адреса впоследствии вывели средства на децентрализованную биржу FixedFloat.
Основная транзакция: 4WnPebowR4HHfumvNPaDjG6Pa5Hi1jxLm6xmmBq33QVk
Заключение
Атака на Raydium наглядно показывает риск, о котором в крипто-проектах часто забывают: смарт-контракт нельзя просто «выключить». Если в старом контракте остались деньги, а код не обновлялся годами — это цель.
Пять пулов эпохи Serum хранили ликвидность с 2021 года. Один человек нашёл в забытом коде уязвимость, создал поддельный токен и вывел $1,34 млн. Большая часть средств уже ушла в миксер.
Команда «КоинКит» продолжает отслеживать движение оставшихся средств.


