Незакрытая дверь в Renegade: $209 тыс. вывели — и почти все вернули
12.05.2026 | CoinKyt Company

10 мая 2026 года неизвестный вывел около $209 тыс. из протокола Renegade на сети Arbitrum, воспользовавшись незакрытой точкой входа в прокси-контракте. Однако история получила неожиданный финал: после переговоров непосредственно в блокчейне атакующий вернул около $190 тыс. и был признан «белым хакером» — исследователем безопасности, который нашёл уязвимость и сообщил о ней, а не стал её монетизировать.

 

Что произошло


Renegade — это протокол для приватной торговли криптоактивами. Пользователи могут совершать сделки так, чтобы их суммы и активы не были видны посторонним (это и называется Dark Pool — закрытое торговое хранилище).


Внутри протокола используется так называемый прокси-контракт. Прокси — это посредник между пользователем и основной логикой протокола. Такая архитектура позволяет обновлять логику без замены самого хранилища данных. Но у прокси есть один уязвимый момент: при первом развёртывании его нужно инициализировать — то есть настроить и «закрыть» входную точку настройки, чтобы никто посторонний не мог её вызвать повторно.


В контракте Renegade эта точка входа — функция инициализации — осталась открытой после развёртывания. Атакующий это обнаружил и воспользовался: вызвал её, внедрил в прокси собственную логику и через механизм delegatecall (выполнение чужого кода в контексте хранилища контракта) вывел активы. Всё это заняло одну транзакцию.


Были выведены: USDC, WBTC, WETH, PENDLE, ARB, GRT, CRV, LDO и другие токены на общую сумму около $209 тыс.

 

Почему это стало возможным


Прокси-контракты — стандартная практика в DeFi. Но у них есть строгое правило: после первого развёртывания функция инициализации должна быть немедленно закрыта и недоступна для повторного вызова. Если это не сделано — любой может «переинициализировать» контракт и стать его новым владельцем.


Представьте, что вы установили новый замок на дверь, но забыли убрать мастер-ключ из скважины. Тот, кто найдёт его первым, может заменить замок на свой.


delegatecall
— это механизм, позволяющий одному контракту выполнять код другого, но в своей памяти. Атакующий использовал его, чтобы исполнить свои инструкции внутри хранилища Dark Pool и вывести средства.

 


Детали расследования: движение средств

1️⃣ Активы на сумму ~$209 тыс. поступили на адрес 0x777253F28AdC29645152b7b41BE5c772A9657777 в сети Arbitrum.

2️⃣ Атакующий вступил в переговоры с командой Renegade прямо в блокчейне — через on-chain сообщения, которые можно прикрепить к транзакциям.

3️⃣ Около $190 тыс. были возвращены протоколу. Оставшаяся часть — около $19 тыс. — была оставлена как вознаграждение за найденную уязвимость (так называемый bug bounty).

 

Заключение


Инцидент с Renegade — редкий случай, когда атака завершилась возвратом средств. Атакующий воспользовался классической ошибкой развёртывания прокси-контракта, которая встречается в DeFi уже не первый год. Открытый инициализатор после запуска — это критическая уязвимость, и аудит должен проверять этот момент в первую очередь.

То, что атакующий вернул деньги, не отменяет факта: уязвимость была реальной и позволяла вывести средства без следа. Протоколу повезло, что его нашёл именно белый хакер.