Спасение SushiSwap - 0xMaki даёт показания



Из вока да в полымя.

Анонимный разработчик 0xMaki возглавил разработку SushiSwap после того, как основатель Chef Nomi позволил своей жадности жадности взять верх.

После того, как лето DeFi прошло и фарминг фуд-токенов сошел на нет, многие смирились с мыслью, что SushiSwap мертв и похоронен. Однако, разработчики проекта не прекращали работу ни на минуту, и вот недавно SushiSwap вернулся с новым меню.

いらっしゃいませ!!!

Но все было не так просто в баре Omakase.

Вчера поздно ночью неизвестный проковырял дыру в их смарт-контракте и стащил $15 тысяч, пока команда суши-поваров не выгнала его из кухни.

Rekt обратился к 0xMaki за его версией событий.

0xMaki: После публикации отчета Nansen я сам управлялся в Sushibar, чтобы снизить возможности арбитража. Я видел парочку странных небольших транзакций. Но я решил, что ничего страшного в этом не было, потому что бар работал прекрасно.

Первая микро-транзакция произошла дня 2-3 назад, но вчера она стала автоматической, я бы даже сказал «промышленного уровня».

Вот первое упоминание неполадок в Sushibar. (Discord)

Monstar

@0xMaki 源 義経 что происходит с суши-баром? Там полно всяких разных странных транзакций и похоже, что люди, делающие стакинг в баре не получают с него никаких суши.

Транзакция 1

Транзакция 2

Транзакция 3

0xMaki 源 義経 ответил Monstar

все работает как надо, просто сумма очень очень очень очень маленькая, насколько я понимаю

похоже, что кто-то потерял транзакцию, сейчас проверю

Monstar

Я так не думаю

потому что доступный к выводу остаток в баре очень сильно упал из-за этих транзакций

такое впечатление, что они выводят сами токены провайдеров ликвидности (не знаю, как такое может быть возможно), вместо того, чтобы выводить sushi, как положено

поэтому нет конвертации в sushi и стейкеры не получают вознаграждение

0xMaki 源 義経

проверяем сейчас вместе с одним человеком

может просто приложение boring странно себя ведет

Monstar

я думаю, кто-то сообразил, как обойти приложение boring (изменено)

и не делиться суши ни с кем в баре

но я не знаю, как воспроизвести то, что они делают, поэтому не могу протестировать

да, точно

https://etherscan.io/tx/0x7c6af5ca27ceb04aad514ddcaee8afc6dd4eb79d0816e24b007e7db205e93ce3

https://etherscan.io/address/0x1925e832c22522e0d9947ee4677120b2f28e4cd4#internaltx здесь видно все выводы с этого кошелька (изменено)

0xMaki 源 義経

@Monstar мы работаем над решением проблемы на данный момент, все фонды в безопасности, просто обычный эксплоит суши-бара, забрали комиссию, отстой, но хороший баг-баунти

мы отдадим сегодня 10k в пользу клиентов Sushibar


Rekt: Спасибо за ссылку. Что первым пришло тебе на ум?

0xMaki: Сперва я подумал: ну невозможно же, чтобы с баром что-то случилось, правильно?! Должно быть, дело во фронтенде. Транзакция была бессмысленной. Но когда в бар перестали поступать деньги, я подумал, что, что проблема намного глубже.

Примерно через 15 минут я понял, что дело плохо и сразу же связался с Banteg

Banteg не смог мне помочь, у него было 6 утра и он был занят работой над той штукой picke / cornichon. Все разработчики Sushi спали - они все в Европейском / Токийском часовом поясе, я один в северной Америке.

Rekt: К кому ты обратился за помощью?

0xMaki: Мне смогли помочь Andy a специалист по стратегиям из yEarn / бывший makerdao smart contract engineer и Daniel Que - экс-Coinbase

Rekt: Сколько времени ушло на починку?

0xMaki: 3-4 часа, чтобы воспроизвести и найти проблему.

Rekt: сколько было потеряно?

0xMaki: Потеряно всего 15 тысяч, потому что суши-бар может накапливать только 20-30 тысяч в день. 0.05% идет в пулы, и все надо делать вручную, и есть риск, что транзакция не пройдет.

Rekt: Хакерская атака или эксплоит?

0xMaki: Однозначно эксплоит, и очень умный - он заслужил эти деньги. Кстати, мне кажется, я его нашел...

Rekt: Ты больше впечатлен или обескуражен?

0xMaki: Однозначно впечатлен! Уж точно не обескуражен! Очень увлекательно наблюдать за всеми этими атаками / эксплойтами. Даже при серьезных аудитах всегда появляются какие-то новые сценарии, которые мы не планировали и о которых не подумали.

Это делает экосистему сильнее и устойчивее.

С этим атакующим мы потеряли всего 15 тысяч, может быть был кто-то еще, кто делал то же самое, надо будет изучить получше. Мы заметили этого, потому что из-за него начал страдать весь бар.

В любом случае, в 23:28 по моему времени мы (0xMaki и Andy) начали устранять проблему.

Потом мы проверяли небольшие транзакции, просто чтобы удостовериться, что они неопасные, и тут - черт - они оказались опасными.

Andy только что вернулся из перелета, он валился с ног от смены часовых поясов, ему пришлось пойти спать, поэтому я остался один, пока...

(samczsun)

Rekt: Как он узнал?

0xMaki: Я ему написал, потому что остался один, без единого .sol джедая.

Rekt: .sol-даты

0xMaki: но жаль... было поздно, и у него были планы, как у любого нормального человека в субботу вечером, я думаю?!

И все сначала, никто не может помочь...

Попытался связаться с Chef Nomi, со всеми главными разработчиками, оставил пошаговое описание атаки в основном чате команды в надежде, что кто-то проснется

Потом я вспомнил про Daniel, мы были с ним в контакте с самого начала, я связался с ним, позвонил и ввел в курс дела.

Rekt: Ты еще разговариваешь с Nomi?

0xMaki: Нет.

0xMaki: Было 02:35 и у нас получилось воспроизвести!!! Мы поняли принцип эксплоита и могли его воспроизвести, а значит могли разработать решение.

В 03:19 у нас было решение.

0xMaki: Ситуация наладилась, команда просыпалась и работала над решением. Я тем временем занялся эксплоитером и увидел, что у него были в основном SNX и EHT.

Я просмотрел его транзакции, этот аккаунт не создавался для хакерской атаки, он ошивался по окрестностям и искал возможность для эксплоита.

Rekt: Почему ты так думаешь?

0xMaki: Чаевые. Он много раз получал чаевые в SNX и ESD. Значит, это кто-то, кто проводит много времени в обоих сообществах, скорее всего в Discord.

Я проверил по датам, кто получал и кто отправлял чаевые много раз подряд, и - бинго...

Инсайдер из сообщества SNX помог мне идентифицировать получателя чаевых.

Так что вот так, вся команда проснулась, у нас было предварительное решение и атаку удалось прекратить. И вот тогда новости попали в Twitter.

Замечание редактора После этого мы получили неоспоримое доказательство от подозреваемого -

«это не мог быть я»

0xMaki: Ничьи фонды не были потеряны, потому что украденные деньги предназначались на выплату чистой прибыли держателям xSushi. Мы выделим из нашей казны на 15 тысяч монет и разошлем их пропорционально всем пострадавшим.

Rekt: Тогда ничего серьезного, кто-то устроил себе легкий перекус! Хочешь что-нибудь передать подозреваемому напоследок?

0xMaki: Свяжись со мной! У нас для тебя есть много смарт-контрактов, которые ты можешь поковырять, и мы платим баг-баунти!

Я еще хочу поблагодарить всех, кто принимал участие в этом спасении, включая атакующего.


Поделиться

REKT представляет собой общественную площадку для анонимных авторов. Мы не несём ответственность за выражаемые точки зрения или контент на этом веб-сайте.

Пожертвование (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

Дисклеймер:

REKT не несет никакой ответственности за любое содержание, размещенное на нашем Веб-сайте или имеющее какое-либо отношение к оказываемым нами Услугам, независимо от того, было ли оно опубликовано или создано Анонимным Автором нашего Веб-сайта или REKT. Не смотря на то, что мы устанавливаем правила поведения и нормы публикаций для Анонимных Авторов, мы не контролируем и не несем ответственность за содержание публикаций Анонимных Авторов, а также за то, чем делятся и что передают Авторы с помощью нашего Сайта и наших Сервисов, и не несем ответственность за любое оскорбительное, неуместное, непристойное, незаконное или спорное содержание, с которым вы можете столкнуться на нашем Веб-сайте и на наших Сервисах. REKT не несет ответственность за поведение, будь то онлайн или офлайн, любого пользователя нашего Веб-сайта или наших Сервисов.