Раздел 7 · Урок 7.7
Flash-loan атаки и манипуляции протоколами
Flash loan (флеш-заём) — уникальное изобретение DeFi, невозможное в обычных финансах: вы можете занять миллионы долларов без залога, если вернёте их в той же транзакции. Инструмент придуман для честной арбитражной торговли, но стал любимым «рычагом» хакеров: с его помощью выкачивают протоколы на десятки и сотни миллионов. Для AML-аналитика важно понимать механику — потому что на графе такая атака выглядит совсем не так, как классическое отмывание, и путать их нельзя.
Что такое flash loan
Обычный кредит требует залога и времени. Flash loan работает на свойстве атомарности транзакции в блокчейне: всё, что происходит внутри одной транзакции, либо выполняется целиком, либо не выполняется вовсе. Протокол одалживает вам сколько угодно средств при одном условии — вернуть сумму (плюс комиссию) до конца той же транзакции. Если к концу транзакции долг не погашен, вся транзакция откатывается, будто её и не было, и кредитор ничем не рискует.
Ключ к пониманию. Flash loan — это не «деньги на счёт на неделю». Это заём длиной в доли секунды, живущий внутри одной операции. Между «занял» и «вернул» умещается целая последовательность действий — и именно в эту щель встраивается атака.
1. Занять $50M
→
2. Манипуляция
→
3. Выкачать протокол
→
4. Вернуть $50M
→
5. Забрать прибыль
Всё в одной транзакции. Занятый капитал — временный рычаг, реальная добыча — шаг 3.
Механика атаки: манипуляция ценой оракула
Самый распространённый тип flash-loan атаки — манипуляция оракулом цены. Многие DeFi-протоколы (кредитные, деривативные) узнают цену актива не от независимого источника, а из пула ликвидности на децентрализованной бирже. Если пул неглубокий, огромный флеш-заём может временно «продавить» цену в этом пуле — и протокол поверит фальшивой цене.
- Заём. Хакер берёт flash loan на, скажем, $50M в стейблкоине.
- Продавливание цены. Он вбрасывает эти деньги в неглубокий пул токена X, резко задирая (или обрушая) его цену в этом конкретном пуле.
- Обман протокола-жертвы. Кредитный протокол смотрит на цену из этого пула, видит завышенную стоимость залога хакера и позволяет ему занять/вывести гораздо больше, чем следовало.
- Извлечение. Хакер выводит из протокола реальные средства сверх нормы — это и есть кража.
- Возврат займа. Возвращает $50M кредитору, восстанавливая цену в пуле. Всё в одной транзакции.
- Прибыль. Разница между выкачанным и возвращённым остаётся у хакера — иногда десятки миллионов.
Есть и другие вариации: манипуляция механизмом расчёта наград, реентранси-баги, подмена курса при чеканке/сжигании токенов. Но общий принцип один: flash loan даёт временный капитал, чтобы обмануть логику протокола, а не чтобы «занять и не отдать».
Как это выглядит на графе транзакций
Для AML-аналитика важнее всего научиться распознавать след атаки. Он очень характерен и резко отличается от денежных потоков отмывания.
- Одна гигантская транзакцияДесятки внутренних вызовов (internal calls) внутри одной транзакции: заём, свопы, вывод, возврат — всё в одном хеше. Не цепочка переводов во времени, а «взрыв» в одном блоке.
- Заём = возвратСумма займа приходит от протокола-кредитора и уходит обратно к нему же в той же транзакции. Это «холостой» капитал — он не является добычей.
- Аномальный дисбаланс протоколаИз пула/протокола-жертвы утекает больше, чем должно; резервы резко проседают в одном блоке.
- Реальная добыча — чистый остатокПосле возврата займа у адреса атакующего остаётся прибыль. Вот с неё и начинается настоящее отмывание — обычно через мост и миксер.
Атака (1 tx)
flash loan + манипуляция
→
Добыча
чистая прибыль хакера
→
Отмывание
мост → миксер → биржи
Чем атака отличается от отмывания
Это ключевой пункт урока. Начинающий аналитик может увидеть «$50M прошло через адрес» и записать это в отмывание — и ошибиться.
- Flash-loan атака — это способ кражи (predicate offence)Момент, когда деньги добываются. Это не отмывание, а само преступление, порождающее грязные средства.
- Отмывание — это то, что происходит потомХакер уводит добычу через кросс-чейн мосты, миксеры (Раздел 3), пилинг-цепочки (Урок 7.1), чтобы разорвать связь. Вот это — отмывание.
- Занятый капитал ≠ грязные деньги$50M займа не «грязные» — они вернулись кредитору. Пытаться трассировать их как отмывание — методическая ошибка. Грязная только чистая прибыль.
- Временной масштабАтака — доли секунды в одном блоке. Отмывание — часы, дни и недели цепочек. По времени их легко развести.
Практический вывод для трассировки. Увидев flash-loan атаку, не гонитесь за «телом» займа — оно фиктивно и вернулось на место. Определите чистый прирост на адресе атакующего после транзакции — это и есть отмываемая сумма. Дальше трассируйте уже её: куда ушла, через какой мост, в какой миксер. Экспозиция от такого адреса имеет категорию theft/hack максимального веса.
Почему это в разделе про типологии. Flash loan — это не про отмывание в чистом виде, а про источник грязи. Понимая, откуда взялись средства, вы правильно классифицируете риск: адрес, получивший хоть долю от такой добычи, несёт «краденую» экспозицию, и любая KYC-биржа при вводе это отработает.
Главное из урока
- Flash loan — заём без залога, живущий внутри одной транзакции; не вернул — транзакция откатилась.
- Атака использует заём как рычаг, чаще всего для манипуляции ценой оракула из неглубокого пула.
- На графе это «взрыв» в одном хеше: заём = возврат, а реальная добыча — чистый остаток на адресе хакера.
- Сама атака — это кража (источник грязи), а не отмывание; отмывание идёт потом, через мосты и миксеры.
- Трассируйте не тело займа (оно фиктивно), а чистую прибыль атакующего с категорией theft/hack.
Материалы носят образовательный характер.