Исследование атаки на Hyperliquid: Кейс FARTCOIN и эксплуатация HLP
Это профессиональный разбор атаки на протокол Hyperliquid через манипуляцию низколиквидным токеном FARTCOIN. Данный инцидент является классическим примером «токсичного арбитража» и эксплуатации механики ADL (Auto-Deleveraging) в децентрализованных системах.
В отличие от классических взломов смарт-контрактов, данная атака не использовала баг в коде. Это экономический эксплойт логики управления рисками. Атакующий использовал архитектурную особенность Hyperliquid — хранилище HLP (Hyperliquid Liquidity Provider) — в качестве «вынужденного покупателя» своих убыточных позиций.

1. Анатомия атаки: Пошаговый алгоритм
Атака была проведена в четыре этапа, требующих точного тайминга и понимания глубины книги ордеров.
Этап А: Подготовка и «Разгон» (Pump)
- Действие: Несколько связанных кошельков заводят USDC. На Hyperliquid открывается огромный лонг (long) на $15 млн в паре FARTCOIN/USDC.
- Нюанс: FARTCOIN обладает низкой ликвидностью на Hyperliquid. При малом объеме в стакане, покупка на $15 млн (даже частями) задирает цену на 20% и выше.
Этап Б: Создание искусственной ликвидности
- Действие: Чтобы цена не обвалилась сразу, атакующий выставляет крупные лимитные ордера на покупку (Buy Walls) чуть ниже текущей рыночной цены.
- Цель: Убедить алгоритмы биржи и других трейдеров, что на рынке есть поддержка, и зафиксировать «Mark Price» (маркировочную цену) на высоком уровне.
Этап В: «Сквиз» и активация ADL
- Действие: Атакующий резко убирает свои ордера на покупку и начинает продавать (dump) токен на других площадках или через мелкие аккаунты.
- Результат: Цена падает. Из-за отсутствия ликвидности позиция на $15 млн мгновенно уходит в глубокий минус. Обычная ликвидация невозможна — в стакане просто нет встречных ордеров, чтобы закрыть такой объем.
Этап Г: Перенос убытка на HLP
- Действие: Когда страховой фонд не справляется, срабатывает механизм ADL. Система принудительно закрывает позицию об контрагентов. В Hyperliquid основным контрагентом выступает HLP Vault.
- Итог: HLP «забирает» себе лонг по завышенной цене, который в реальности уже стоит копейки. HLP фиксирует убыток ~$1-1.5 млн.
2. Техническая база: Почему это сработало?
Ключевой термин здесь — Oracle vs. Internal Liquidity Gap.
Hyperliquid использует оракулы для определения Mark Price. Если цена на внешних биржах (Binance, OKX и др.) держится высоко, оракул подтверждает её. Но внутри Hyperliquid ликвидности может не быть.
Механизм ADL (Auto-Deleveraging)
В обычных условиях ADL защищает биржу от банкротства. Если трейдер А теряет больше, чем у него есть на балансе, и его нельзя ликвидировать об рынок, биржа закрывает прибыльную позицию трейдера Б, чтобы погасить долг.
В этой атаке атакующий сам создал условия, при которых его огромный лонг стал «неликвидируемым», заставив систему отдать этот «токсичный актив» в руки поставщиков ликвидности (HLP).
3. Практический разбор «Профита» (Hedging Strategy)
Многие задаются вопросом: «Зачем атакующему терять $1.5 млн на Hyperliquid?»
Ответ: Cross-platform Arbitrage.
Атакующий открывает:
- На Hyperliquid: Огромный LONG.
- На сторонней DEX/CEX (где есть ликвидность): Аналогичный SHORT.
Когда цена на Hyperliquid искусственно завышена, его SHORT на другой бирже может быть в минусе, НО: когда он «сливает» позицию на Hyperliquid в HLP, он фиксирует там убыток, который уже перекрыт прибылью от шорта на другой площадке, где он заранее подготовил почву для обвала.
4. Практические советы для пользователей и разработчиков
Как избежать попадания под ADL (для трейдеров):
- Избегайте высокого плеча на щиткоинах: ADL в первую очередь выбирает позиции с самым высоким эффективным плечом и профитом.
- Мониторьте заполнение HLP: Если Vault начинает нести убытки (Pnl идет вниз), это признак токсичной активности на платформе.
Пример кода для мониторинга аномалий (Python/Pseudocode):
Разработчикам стоит отслеживать разрыв между ценой оракула и глубиной стакана.
def check_liquidity_risk(symbol, position_size_usd):
oracle_price = get_oracle_price(symbol)
# Считаем среднюю цену закрытия позиции об стакан (Slippage)
execution_price = get_market_impact(symbol, position_size_usd, side='SELL')
slippage_percent = (oracle_price - execution_price) / oracle_price * 100
if slippage_percent > 15: # Порог риска 15%
print(f"ALARM: Liquidity Gap for {symbol} is too high! ADL Risk detected.")
return "High Risk"
return "Safe"
5. Малоизвестные детали и выводы
Подобные атаки называют «JIT-ликвидациями наоборот». Атакующий не предоставляет ликвидность, а «скармливает» её протоколу.
Интересный факт: Hyperliquid уже обновлял параметры плеча (Max Leverage) для BTC и ETH после похожих случаев, но для новых токенов (как FARTCOIN) параметры часто остаются слишком мягкими в первые дни листинга.
6. Глубинный анализ уязвимости: Оракулы vs Глубина стакана
Одной из «скрытых» причин успеха атаки является специфика Oracle Latency (задержки оракула) и Skew Management.
В большинстве децентрализованных перпетуальных бирж (Perp DEX) цена маркировки ($Mark Price$) подтягивается с внешних площадок через оракулы. Однако ликвидность для исполнения ($Execution Price$) берется из локального стакана или виртуального AMM.
Проблема: Если злоумышленник создает искусственный перекос ($Skew$) внутри протокола, система пытается выровнять его через ставку финансирования ($Funding Rate$). Но при резком дампе (flash crash) ставка финансирования не успевает сделать позицию «дорогой» для удержания.
Слабое место HLP: Хранилище Hyperliquid Liquidity Provider работает как маркет-мейкер последней инстанции. Оно обязано «принимать» на себя сделки, когда другие участники рынка отсутствуют. Атакующий фактически превратил HLP в вынужденного экзит-ликвидность.
7. Практический кейс: Как распознать подготовку атаки?
Если вы анализируете ончейн-данные или следите за рынком в реальном времени, следующие признаки (Red Flags) могут сигнализировать о готовящемся эксплойте:
- Концентрация открытого интереса (OI): Если $OI$ (Open Interest) по низколиквидному активу (как FARTCOIN) за несколько часов вырастает на суммы, превышающие 20-30% от общей капитализации токена — это аномалия.
- Связанные кошельки (Cluster Analysis): В данном случае использовались 4 кошелька. Часто они пополняются с одного адреса или через миксеры незадолго до атаки.
- Аномальный спред: Если на Hyperliquid цена токена на 2-3% выше, чем на других DEX (например, Raydium или Uniswap), при этом арбитражеры не спешат её выравнивать — это значит, что ликвидности для шорта просто нет, и цена держится «на честном слове» манипулятора.
8. Технические рекомендации для защиты протоколов
Для разработчиков и архитекторов DeFi-систем этот кейс диктует необходимость внедрения более жестких лимитов:
- Dynamic Open Interest Caps: Лимит на максимально открытую позицию должен быть привязан не к волатильности, а к реальной глубине стакана ($Depth$). Если в стакане на расстоянии 5% от цены лежит всего $500k, система не должна позволять открывать лонг на $15m.
- ADL Haircuts: Внедрение штрафных коэффициентов при срабатывании ADL, чтобы манипулятор терял значительную часть обеспечения ($Collateral$) еще до того, как позиция перейдет к HLP.
- Velocity Checks: Ограничение на скорость изменения позиции. Например, запрет на увеличение позиции более чем на X% в течение 10 минут для высокорисковых активов.
9. Сценарий кода: Симуляция атаки (Python / Brownie style)
Пример логики, которую используют аудиторы для проверки устойчивости протокола к подобным манипуляциям:
# Псевдокод симуляции манипуляции ликвидностью
def simulate_attack():
asset = "FARTCOIN"
initial_liq = protocol.get_liquidity(asset) # Допустим, $1M в пределах 10% цены
# Атакующий заводит обеспечение
attacker_margin = 2_000_000 # $2M USDC
# Открытие огромного плеча
# Протокол позволяет плечо x7 на щиткоины (ошибка!)
protocol.open_position(symbol=asset, size=14_000_000, side="LONG", margin=attacker_margin)
# Цена улетает вверх из-за нехватки ликвидности
new_price = protocol.get_mark_price(asset) * 1.20 # +20%
# Резкий вывод ликвидности атакующим (через связанные адреса)
protocol.remove_limit_orders(asset, attacker_linked_wallets)
# Имитация рыночного обвала
market.crash(asset, drop_percent=30)
# Проверка: сможет ли ликвидатор закрыть позицию?
liquidation_status = protocol.attempt_liquidation(attacker_address)
if liquidation_status == "FAILED_NO_LIQUIDITY":
print("ADL Triggered! HLP takes the loss.")
hlp_loss = protocol.calculate_adl_impact(attacker_position)
print(f"Total HLP Loss: ${hlp_loss}")
Заключение: Урок для экосистемы
Атака на Hyperliquid через FARTCOIN — это не "взлом" в привычном понимании, а интеллектуальное использование правил игры. Пока Perp DEX стремятся к листингу хайповых токенов для привлечения объемов, они будут оставаться уязвимыми для «китов», которые умеют превращать механизмы защиты биржи (ADL) в свои инструменты выхода.
Для обычного пользователя главный урок прост: HLP не является «безрисковой доходностью». Это страховой фонд, который в любой момент может оплатить банкет умного манипулятора.