Еще один взлом, который я недавно изучал, это Vicuna Finance с марта этого года. Они потеряли 700 тысяч долларов из-за манипуляции с оракулом LP токенов на цепочке Sonic. Атака использовала фундаментальный недостаток в ценообразовании, который можно было бы предотвратить с помощью простого утверждения. LP токены оценивались с использованием базовой формулы суммы (price_token1 * amount_token1 + price_token0 * amount_token0) вместо справедливого ценообразования, учитывающего формулу постоянного продукта пула. Последовательность атаки: - Большой обмен от token0 к token1 искусственно завысил цену оракула LP токенов - Депозит переоцененных LP токенов в качестве залога - Заем максимальных активов против завышенной стоимости залога - Обратный обмен снизил цену LP, оставив протокол с плохим долгом Манипуляция ценами — это паттерн, который мы видим снова и снова, и это паттерн, против которого хорошо защищают утверждения. В этом примере мы экспериментируем с новым чит-кодом, который позволит проверять вызовы в стеке вызовов, что идеально подходит для обнаружения манипуляций с ценами внутри транзакции. Мы проверяем, что вызов "swap" не может привести к отклонению цены более чем на 5% от базового уровня в любое время во время выполнения транзакции. Это простой, но мощный способ защиты от, например, атак с использованием флеш-займов.
2,47K