Cointime

Download App
iOS & Android

Полный текст новости: Curve обнаружила уязвимость, позволяющую манипулировать оракулом

Validated Media

Автор Дэниел фон Фанге

Составил: angelilu, Foresight News

Вчера независимый исследователь Дэниел фон Фанге опубликовал на платформе X статью, в которой говорится, что Curve имеет риск манипулирования оракулом и что этот риск трудно обнаружить во время атаки. Манипулирование оракулом может привести к тому, что оракул сообщит ошибочные данные о внешних событиях или реальном мире, подвергая протоколы, подключенные к оракулу, риску манипуляции. Даниэль фон Фанге сказал, что соответствующие команды, которые могут быть затронуты, были уведомлены.

Основатель Curve Михаил Егоров отреагировал на проблему в сообществе, заявив: «Такой риск может существовать в старых версиях пулов. Старые версии пулов не используются в crvusd, и использование оракулов не рекомендуется». Даниэль также подтвердил свои замечания. Риск раскрытия информации фон Фанге вполне реален.

Однако участник Curve Фидди выразил недовольство тем, как независимый исследователь обнародовал эту информацию без обсуждения, и выступил с разъяснением, заявив, что уязвимости, раскрытые Дэниелом Фон Фанге, ранее обсуждались в частном порядке, но он считает, что злоумышленник хотел повысить точность. Стоимость повышения платы за газ высока, и внешний аудит также отнес это к низкому воздействию. А уязвимость, обнаруженная исследователем, связана со старым алгоритмом криптосвопа Curve, который использует цену Last_price, но новая реализация cryptoswap-ng использует цену состояния AMM, что может решить такие проблемы. Кроме того, yAuditDAO обнаружил некоторые ошибки оракулов, которые в настоящее время исправляются. Никто не использует эти оракулы, и LP (поставщики ликвидности) в этих торговых пулах стейблкоинов не затрагиваются.

Однако некоторые команды уже начали корректировать протокол для повышения безопасности с учетом раскрытых рисков. Разработчик Yearn Finance @storming0x также отреагировал на риски, раскрытые Дэниелом фон Фанге, заявив, что «контракты Yearn не затронуты, за исключением одного контракта, который использует механизм резервирования Chainlink для смягчения потенциальных путей атак. Из осторожности команда Yearn Development решила повторно развернуть новую версию».

Ниже приводится полный текст заявления Даниэля фон Фанге о риске манипулирования ценами в оракуле Curve:

За последние две недели я копался в ценовых предсказаниях Curve и обнаружил крайне необычное поведение.

Эти оракулы работают не так, как вы думаете, ими легче манипулировать, чем ожидалось, и при нормальных обстоятельствах они могут пойти не так.

Краткий обзор: в большинстве пулов злоумышленник может манипулировать ценовым оракулом Curve в 10–500 раз выше обычной цены всего за один блок. А манипуляцию можно скрыть, и когда вы посмотрите на бассейн, не останется никаких признаков манипуляций.

Пулов Curve много, и никто не может точно подсчитать количество баз кода в разных пулах.

То, что я пишу, может относиться, а может и не относиться к определенным пулам. Разные пулы имеют разные уязвимости. Возможно, в некоторых бассейнах нет дыр.

Команда Curve отлично справилась с получением отчета, его обсуждением и через несколько минут подтвердила, что эти проблемы не затронули CrvUSD.

Я также проверил около 100 контрактов в сети, в которых используются ценовые оракулы Curve, и при необходимости уведомил соответствующие команды.

Ключевая проблема этой уязвимости заключается в том, что значение Last_price может быть неверно рассчитано, если цена не близка к 1:1 или если комиссия за обработку высока.

Во-первых, комиссия не включается в расчет Last_price, что приводит к использованию другого числа, отличного от фактического баланса транзакции или пула.

Ценовой оракул EMA определяется Last_price. Если значение Last_price неверно, ценовой оракул начнет двигаться к неправильной целевой цене.

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

В зависимости от пула эта ошибка дрейфа может быть выше или ниже фактической цены.

Самая большая проблема заключается в том, что во время манипуляции ошибка Last_price может быть на порядок выше фактической манипулируемой цены, что значительно повышает вероятность эффективного манипулирования оракулом пула.

Даже крошечная транзакция может исправить отклонение окончательной цены/цены оракула, что приводит к некоторым нелепым ситуациям.

Даже крошечная транзакция может исправить отклонение окончательной цены/цены оракула, что приводит к некоторым нелепым ситуациям.

Благодаря наложенному эффекту больших колебаний цен и ошибок расчета Last_price злоумышленники могут манипулировать ценовым оракулом EMA в следующем блоке, не тратя огромных затрат на поддержание высоких цен в десятках блоков для борьбы с арбитражерами.

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

На этом давайте поговорим об распространенных стратегиях защиты от манипулирования ценами оракула Curve и их эффективности.

В пуле Curve v1 есть четыре числа, которые можно использовать для обнаружения манипуляций: фактическая цена, цена оракула, цена Last_price и цена EMA. К сожалению, одна сделка по манипулированию ценой Price_oracle может сбросить все эти значения до одного и того же числа после одной манипуляции.

Price_scale пула Curve v2 сложнее манипулировать, чем ценовым оракулом. Он меняется медленнее и требует реальных затрат на комиссию за транзакцию. Если этот быстрый ценовой оракул соответствует медленному Price_scale, то ситуация стабильна, верно?

Нет! Основная проблема атаки заключается в сопоставлении трех чисел: реальной цены, быстрого оракула и медленного масштаба. Реальную цену легко контролировать, поскольку ею можно мгновенно манипулировать. Тогда проблемой становится проектирование пересечения двух других.

Злоумышленник ненадолго завышает цену, затем возвращается к нормальному состоянию на следующем блоке и ждет несколько блоков для атаки, пока оракул падающей цены не встретит растущую цену_шкалы. Фактическую цену нужно поддерживать только на высоком уровне, чтобы блока было достаточно, чтобы сбить с толку оракула, после чего последует цена_шкала.

Многие оракулы используют ограничение, ограничивая используемую ими цену от цены оракула Curve до максимального значения 1:1. Это приятно и исключает глупо высокие значения. Однако обратите внимание, что если актив действительно лишен привязки, злоумышленник может купить актив по низкой цене, а затем манипулировать им, чтобы создать видимость повторной привязки.

Протокол иногда устанавливает минимум, и если ответ оракула цены Curve падает ниже определенного процента от привязки, он будет игнорироваться. Но если вы игнорируете цену, когда актив действительно отделяется, вы теряете всю цель создания ценового оракула.

Другая распространенная стратегия — добавить цену еще одной системы AMM. Многое зависит от качества и эксплуатационных характеристик других бассейнов. Если он менее ликвиден и им легче манипулировать, это противоречит цели.

Плохо + Плохо = Плохо.

Другая распространенная стратегия — добавить цену еще одной системы AMM. Многое зависит от качества и эксплуатационных характеристик других бассейнов. Если он менее ликвиден и им легче манипулировать, это противоречит цели.

Плохо + Плохо = Плохо.

Новый пул Curve для торговых пар стейблкоин/стейблкоин внутренне ограничивает значение Last_price в 2 раза по сравнению со значением 1:1. Это предотвращает атаку блока, поскольку значение Last_price не может быть увеличено до слишком высоких значений, тем самым перегружая EMA.

Но было бы неправильно, если бы юридически были отделены не те активы.

Если вы хотите использовать пулы Curve для оценки залоговых активов, вам, вероятно, не следует этого делать.

Новые пулы обычно имеют более высокую стоимость атаки. Это может быть вариантом, если сфальсифицированный пул оказывает небольшое влияние на рынок (возможно, просто для защиты распределения доходов) и если атаки на моделирование пула обходятся дорого.

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

На следующей диаграмме показан рост использования оракулов Curve за последние 90 дней:

В некоторых пулах Curve есть ценовые оракулы, которые работают хорошо, и я не могу заставить их вести себя странно, и они делают именно то, что я ожидал от хорошо работающих EMA. Но все равно надо проверить...

Комментарий

Все комментарии

Рекомендуем к прочтению

  • Биткоин преодолел отметку в 88 000 долларов.

    Рыночные данные показывают, что BTC преодолел отметку в 88 000 долларов и в настоящее время торгуется на уровне 88 016,61 долларов, увеличившись за 24 часа на 1,59%. Рынок демонстрирует значительную волатильность, поэтому, пожалуйста, соответствующим образом управляйте своими рисками.

  • Вчера из американского спотового биткоин-ETF был зафиксирован чистый отток средств в размере 160,65 млн долларов.

    Согласно данным мониторинга Trader T, вчера из американского спотового биткоин-ETF был зафиксирован чистый отток средств в размере 160,65 млн долларов.

  • ETH преодолел отметку в 2900 долларов.

    Рыночные данные показывают, что ETH преодолел отметку в 2900 долларов и в настоящее время торгуется на уровне 2900,37 долларов, увеличившись за 24 часа на 2,54%. Рынок демонстрирует значительную волатильность; пожалуйста, соответствующим образом управляйте своими рисками.

  • Биткоин преодолел отметку в 87 000 долларов.

    Рыночные данные показывают, что BTC преодолел отметку в 87 000 долларов и в настоящее время торгуется на уровне 87 010,23 долларов, увеличившись за 24 часа на 0,74%. Рынок демонстрирует значительную волатильность, поэтому, пожалуйста, соответствующим образом управляйте своими рисками.

  • Официально запущен второй этап проекта NexBat Node Pioneer.

    Nexus Chain объявила об официальном запуске второго этапа своей программы управления активами NexBat "Node Pioneer". На этом этапе пользователям узлов представлена ​​интеллектуальная стратегия балансировки на основе искусственного интеллекта, доступная эксклюзивно с 19 декабря 2025 года в 00:30 (UTC+8). Стратегия использует структуру распределения активов 50% NXR + 50% USDT, динамически перебалансируя портфель с помощью механизма стратегии на основе ИИ для достижения интеллектуального баланса между доходностью и рисками. В качестве значительного улучшения преимуществ узлов, этот этап позволяет пользователям узлов оценить новые возможности стратегии NexBat на основе ИИ через приоритетный канал, одновременно постоянно улучшая сценарии практического применения и удовлетворяя потребности в ценности NXR.

  • Проект создания узла-предшественника сети Nexus Chain успешно завершен.

    Nexus Chain объявила о полной распродаже всех мест в своей программе создания генезисных узлов. В официальном заявлении говорится, что полная распродажа мест в узлах знаменует собой важную веху в построении децентрализованной инфраструктуры основной сети Nexus, и все проданные права на узлы вступят в силу в соответствии с установленными правилами. С внедрением системы узлов и дальнейшим развитием основных продуктов, таких как NexBat, экосистема Nexus официально вступила в следующую фазу роста и расширения.

  • Трамп: Я веду переговоры с тремя или четырьмя кандидатами на пост председателя Федеральной резервной системы; Уоллер и Боуман — отличные кандидаты.

    Президент США Трамп: (По поводу собеседований с представителями ФРС) Вчера я встречался с управляющим ФРС Уоллером; он был великолепен. Сейчас я общаюсь с тремя или четырьмя кандидатами на пост председателя ФРС. Управляющий ФРС Боуман — отличный специалист. Решение по кандидатуре председателя ФРС будет принято очень скоро.

  • Цена BTC упала ниже 86 000 долларов.

    Рыночные данные показывают, что курс BTC упал ниже 86 000 долларов и в настоящее время торгуется на уровне 85 988,7 долларов, что составляет падение на 1,05% за последние 24 часа. Рынок испытывает значительную волатильность; пожалуйста, соответствующим образом управляйте своими рисками.

  • Цена BTC упала ниже 87 000 долларов.

    Рыночные данные показывают, что курс BTC упал ниже 87 000 долларов и в настоящее время торгуется на уровне 86 940 долларов. Рост за 24 часа сократился до 0,27%. Волатильность рынка высока, пожалуйста, управляйте своими рисками соответствующим образом.

  • Биткоин преодолел отметку в 89 000 долларов.

    Рыночные данные показывают, что BTC преодолел отметку в 89 000 долларов и в настоящее время торгуется на уровне 89 012,01 долларов. Падение за 24 часа сократилось до 0,65%. Волатильность рынка высока, пожалуйста, управляйте своими рисками соответствующим образом.