Манипуляция ценой в Flamincome: ущерб $346 тыс
18.09.2026 CoinKyt Company
4 мин
share button
16 сентября 2026 года злоумышленник воспользовался ошибкой в учёте активов протокола Flamincome и похитил около $346 тыс. Он застейкал чужие LP-токены в пользу стратегии Flamincome, протокол посчитал их своими, расчётная стоимость доли искусственно выросла, и злоумышленник вывел реальные средства по завышенной цене.

Расследование КоинКит анализирует, как именно сработала атака и куда ушли средства.

 


Введение


Flamincome
— это протокол, который помогает пользователям получать доход от криптовалюты. Пользователь вкладывает стейблкоины, например USDT, и получает взамен токен доли — VaultYUSDT. Протокол сам инвестирует эти средства в различные стратегии, чтобы заработать проценты.

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

LP-токены
(Liquidity Provider tokens) — это токены, которые выдаются за вклад в пул ликвидности. Они подтверждают, что у вас есть доля в этом пуле. Позже LP-токены можно вернуть и забрать свои токены обратно.

Convex
— это сервис, который помогает владельцам LP-токенов получать максимальные награды за предоставление ликвидности.

 


Ход инцидента

  1. Злоумышленник взял мгновенный кредит (flash-loan) примерно на $18 млн в USDT. Эти деньги нужны были не для прямой кражи, а для временного влияния на расчёты протокола.
  2. На заёмные USDT он купил токен USDP и вложил его в пул Curve USDP/3CRV вместе с другими стейблкоинами. За это он получил большое количество LP-токенов этого пула.
  3. Эти LP-токены он разместил в Convex и застейкал (заблокировал) в пользу стратегии Flamincome. Формально эти токены стали числиться за стратегией, хотя Flamincome не вкладывала в них своих денег.
  4. Баланс LP-токенов, который стратегия Flamincome считала своим, резко вырос. Протокол использовал этот баланс при расчёте стоимости своих активов.
  1. Для оценки LP-токенов использовался внутренний показатель пула Curve — get_virtual_price(). Это расчётная цена одного LP-токена. Но из-за того, что злоумышленник сильно сдвинул баланс пула своей крупной покупкой, этот показатель оказался выше реальной цены, по которой можно было вывести ликвидность.
  2. Расчётная стоимость активов стратегии и цена доли VaultYUSDT искусственно выросли.
  3. Злоумышленник инициировал вывод своих YUSDT. Контракт посчитал, что его доля стоит гораздо дороже, чем на самом деле, и начал выводить реальные средства стратегии.
  4. Стратегия вывела из протокола Aave около 544 тыс. aUSDT — это токенизированные депозиты в Aave, подтверждающие право на получение реальных USDT.
  5. Злоумышленник вернул мгновенный кредит. Чистый ущерб для протокола составил примерно $346 тыс.

 


Почему это стало возможным


Главная проблема заключалась в том, как Flamincome определял количество и стоимость принадлежащих стратегии активов. Стратегия ориентировалась на количество LP-токенов, находившихся за ней в Convex. Но любой сторонний пользователь мог застейкать LP-токены в пользу стратегии. Поэтому рост баланса не означал, что Flamincome действительно купила эти токены за собственные средства.
Дополнительно стратегия оценивала LP-токены через внутренний показатель Curve. Этот показатель использовался как рыночная цена позиции, хотя в условиях сильного дисбаланса пула он мог не соответствовать реальной сумме, которую стратегия могла получить при выводе ликвидности.

Злоумышленник сначала искусственно увеличил количество LP-токенов, учитываемых Flamincome, а затем стратегия сама оценила эти активы по завышенной расчётной стоимости. Из-за этого выросла цена доли VaultYUSDT, и атакующий смог обменять завышенную расчётную стоимость своих долей на реальные активы стратегии.

 

Детали расследования: движение средств


Похищенные средства в размере ~$346 тыс. USDT поступили на адрес злоумышленника:
0x83381e7F7232775735169d72D237B858fFc36871

Затем они были обменяны через агрегатор Li.Fi на примерно 144 ETH. После этого средства были отправлены транзитом через адрес:
0x7B698Cc3697D530Afac1B5085B14106a9b3Dc306
в миксер Tornado Cash — сервис, который скрывает источник и путь криптовалюты.

 


Заключение


Инцидент в Flamincome показал, что учёт чужих вложений как собственных активов и использование внутренней расчётной цены без проверки реальной ликвидности могут привести к краже. Протокол не проверял, кто и за чей счёт застейкал LP-токены, и доверился показателю, который легко манипулировать крупной покупкой.