
15 июля 2026 года торговый протокол Ostium на Arbitrum потерял около $20 млн USDC — треть всех средств в хранилище. Никакого взлома кода, никаких уязвимостей в смарт-контракте. Злоумышленник просто получил ключ от системы доверия протокола — и та сделала всё сама.
Введение
Ostium — протокол для торговли деривативами на Arbitrum. Дериватив — это финансовый инструмент, стоимость которого зависит от цены другого актива: нефти, золота, валюты или криптовалюты. Трейдеры открывают позиции — делают ставки на рост или падение цены, — а протокол рассчитывает прибыль или убыток на основе данных о ценах.
Данные о ценах поступают от авторизованных поставщиков — внешних источников, которым протокол доверяет. Каждое обновление цены должно быть подписано приватным ключом такого поставщика. Протокол проверяет подпись и, если она верна, принимает цену как достоверную.
Всё работает правильно ровно до тех пор, пока ключ поставщика остаётся в безопасности.
Ход инцидента
1️⃣ Получение приватного ключа. Злоумышленник каким-то образом получил доступ к приватному ключу одного из авторизованных поставщиков цен Ostium. Как именно произошла компрометация ключа — в доступных данных не указано.
2️⃣ Поддельные цены с настоящей подписью. Имея ключ, атакующий мог подписывать любые данные о ценах так, что они выглядели как полностью легитимные обновления от авторизованного источника. Протокол проверял подпись — она была верной. Проверял источник — он был авторизованным. Никаких оснований усомниться в данных у контракта не было.
3️⃣ Торговля с заранее известным результатом. Управляя ценами, которые «видел» протокол, злоумышленник открывал торговые позиции и мгновенно закрывал их с искусственной прибылью. Схема простая: подать цену «актив стоит X», открыть позицию на рост, тут же подать цену «актив стоит X + много», закрыть позицию с прибылью — протокол честно выплачивал разницу из хранилища.
4️⃣ ~20 операций — $20 млн. За примерно 20 таких операций злоумышленник вывел из хранилища Ostium около 20 млн USDC — это треть всех средств, которые хранились в протоколе.
Почему это стало возможным
Здесь три взаимосвязанные проблемы.
Первая: ключ с неограниченными полномочиями. Приватный ключ одного поставщика цен давал право подписывать любые данные для любых рынков без ограничений. В нормально устроенной системе один ключ должен иметь ограниченные полномочия — например, только для определённых активов или с лимитом на максимальное отклонение цены.
Вторая: недостаточная защита ключа. Компрометация ключа означает, что он хранился или использовался небезопасно. Ключи, управляющие критической инфраструктурой протокола, требуют максимального уровня защиты: аппаратные хранилища, мультиподпись (когда для действия требуется согласие нескольких сторон), строгие процедуры доступа.
Третья: отсутствие проверок на аномалии. Протокол доверял подписанным данным безоговорочно. Не было проверок: не слишком ли сильно изменилась цена за короткое время? Не совпадает ли паттерн обновлений с подозрительной торговой активностью? Не превышен ли лимит выплат за короткий период? Любая из этих проверок могла бы остановить или замедлить атаку.
Детали расследования: движение средств
После вывода ~$20 млн USDC на основной адрес злоумышленника 0x321df194646029e7a6193ea05573d4b9c398bfd9 средства были разосланы на 11 адресов:
— 0xf47cA08165EF0C59EFd8Ad0962483f162DC35F05 — ~$2 млн
— 0x3147a355D55755a30e0f2b86b15429ba1f5E191f — ~$2 млн
— 0x94EAE4d118A2DeBdf2224106e257Ee0e765448e8 — ~$2 млн
— 0xB9d8F627E287F7FfD2a4C7103b821C0F22827aB9 — ~$2 млн
— 0xB47D44C49Ad2096B080809b439786De1D35DA965 — ~$2 млн
— 0x52763297475B584E7F2AC71D6648c8046687BC62 — ~$2 млн
— 0xe0a153C71d2953E623B5c8Fb501795e7ABb22C82 — ~$2 млн
— 0x49F0adD1d6741756690E3332Dd110fb1Ca18CF18 — ~$2 млн
— 0x5225ddAbb77ea7a595283a3c02A45F652357C5d7 — ~$2 млн
— 0xE8a5f02e5221380A08D6E267b7b62c4Bd8774a5a — ~$2 млн
— 0xdB290D3fE458a0f4f4968867e55F0bbBc5E12Bb8 — ~$1 млн
На момент расследования все средства остаются на указанных адресах без движения. Это необычно для атак такого масштаба: как правило, средства начинают движение значительно быстрее. Статичные адреса с известными балансами — потенциально благоприятная ситуация для взаимодействия с биржами и правоохранительными органами.
Заключение
Атака на Ostium — один из наиболее наглядных примеров того, как компрометация одного ключа может полностью обойти всю систему проверок. Смарт-контракт работал именно так, как был написан: проверял подписи, доверял авторизованным источникам, выплачивал прибыль по официальным ценам. Проблема была не в коде, а в том, кто контролировал подпись.
$20 млн, выведенные за ~20 сделок, остаются на 11 известных адресах. Команда «КоинКит» продолжает отслеживать движение средств и призывает биржи обратить внимание на указанные адреса.


