Пользователи криптоплатформы Moonwell потеряли $1,78 млн. Причина — одна ошибка в коде, который написал ИИ. Люди не проверили. Баг очень быстро обнаружили боты и сделали свое дело.
Moonwell — это что-то вроде банка, только это на самом деле не банк. Это кредитная платформа, работающая на блокчейне (распределённая база данных). Работает просто: вы приносите свою криптовалюту, кладёте её как залог и берёте под неё займ в другой криптовалюте. Или наоборот — даёте свои монеты в долг другим и получаете проценты. Всё это происходит без посредников, автоматически.
Сейчас на платформе хранится около $100 млн пользовательских средств. Для сравнения: ещё полгода назад было $380 млн. Разница ощутимая и не случайная.
Чтобы система понимала, сколько стоит тот или иной актив прямо сейчас, используется специальная программа — оракул. Так называют робота, который каждую секунду смотрит на рыночную цену монеты и отправляет эти данные внутрь системы. Без него платформа понятия не имеет, сколько стоит залог пользователя.
В середине февраля платформа Moonwell обновилась — добавили новый инструмент (оракул) для расчёта цены монеты cbETH. Это разновидность криптовалюты ETH (эфир), которую компания Coinbase «упаковала» в удобный вид. Coinbase берёт настоящий ETH, замораживает его в стейкинге (чтобы зарабатывать проценты от сети Ethereum), а тебе выдаёт cbETH — цифровой сертификат, рыночный курс которого соотносится со стоимостью эфира. Его можно использовать на различных DeFi-платформах (типа Moonwell), брать под него кредиты или продавать.
Настоящая цена cbETH на тот момент было около $2200 за монету. Но оракул ошибся, он должен был брать два числа и перемножать их между собой, чтобы получить итоговую цену в долларах. А он взял только одно из них. Вышло $1,12 вместо $2 200. Разница — почти в две тысячи раз.
Когда система считает, что монета стоит $1,12 вместо $2 200, она думает: залог у заёмщика крошечный, надо его ликвидировать. Ликвидация — это автоматическое принудительное погашение долга с изъятием залога.
На таких платформах всегда есть боты, которые только и занимаются тем, что ждут «вкусный» момент. Они мгновенно начали скупать cbETH по цене в $1,12, тогда как реальная стоимость была $2 200. Платили $1 долга — получали монет на $2 200. Снова. И снова. И снова.
Всего было ликвидировано 1 096 монет cbETH. Протокол получил $1,78 млн «плохого долга» — то есть займов, которые теперь некому возвращать, потому что залог уже исчез.
Когда проблему обнаружили, команда вручную ограничила возможность брать cbETH в долг. Но вот беда: чтобы исправить сам оракул, по правилам платформы нужно провести голосование сообщества — и подождать пять дней обязательной паузы, которую нельзя обойти. Пока все голосовали — боты уже закончили работу.
Один из аудиторов смарт-контрактов платформы заметил, что изменения в код Moonwell вносились совместно с Claude Opus 4.6 — это одна из самых мощных моделей ИИ от компании Anthropic. В системе контроля версий так было и написано: «co-authored by Claude Opus 4.6».
Но за ИИ всегда стоит живой человек, который должен проверять результат. Ошибка, которую допустил Claude, — настолько простая, что её должен был обнаружить любой разработчик при минимальной проверке. Должен был обнаружить аудит безопасности. Должны были обнаружить тесты. Не обнаружил никто. Так бывает, Искусственный интеллект ошибся. Но именно люди одобрили код и отправили его в продакшен.
Moonwell — просто невезучая платформа или здесь что-то другое?
За последние шесть месяцев Moonwell пережила три сбоя оракулов, потеряв суммарно более $7 млн. В октябре — $1,7 млн из-за расхождения цен. В ноябре — $3,7 млн как эхо взлома стороннего протокола Balancer. Теперь снова.
При этом два предыдущих инцидента были использованы одним и тем же атакующим, который или явно постоянно мониторит Moonwell в поисках уязвимостей, или что-то знает, или ему кто-то помогает. Поэтому нет ничего удивительного, что активы проекта так резко сократились за полгода. Как говорится: «Граждане, храните деньги в сберегательной кассе, а не на Moonwell».
