Back to Blog

[Не все токены одинаково полезны] Краткий анализ атаки на Paraluni

Code Auditing
13 марта 2022 г.
3 min read

Проект Paraluni подвергся атаке утром 13 марта (по времени UTC +8). Злоумышленник использовал две уязвимости для атаки на протокол. Первая уязвимость — отсутствие проверки переданных токенов, а вторая — классический реентранси (reentrancy). Атакующий совершил несколько транзакций нападения. Ниже мы разберем одну из них 0xf2bba649019ce40a67f0fb74e5e800257d359d9094b6ba6faea14ffa4d3446b1, чтобы проиллюстрировать весь процесс атаки.

Шаг I: добавление liquidity (ликвидности) в paraRouter

Злоумышленник вызвал addLiquidity для пула BTCB-WBNB (индекс = 9), и пул выпустил LP-токен на адрес UBT (токен, созданный атакующим). После этой операции токен UBT владеет LP-токеном пула. Заметим, что BTCB и WBNB были взяты через мгновенный заем (flash loan).

Шаг II: вызов depositByAddLiquidity в MasterChef Атакующий вызвал depositByAddLiquidity, указав _pid равным 9 и используя токены UGT и UBT в качестве параметров. Однако функция не проверяет, равны ли резервные токены пула переданным токенам (UGT и UBT).

Затем функция вызывает depositByAddLiquidityInternal, которая, в свою очередь, вызывает addLiquidity в paraRouter. Эта функция вызывает функцию transferFrom токенов UGT и UBT. Однако эти два токена контролируются злоумышленником. В функции transferFrom токена UBT атакующий вызвал функцию deposit контракта MasterChef, чтобы внести LP-токен, полученный на первом шаге, в контракт MasterChef.

К сожалению, из-за изменения баланса в функции deposit, значение newBalance после addLiquidity оказывается намного больше, чем oldBalance. Таким образом, атакующий получил двойное зачисление в контракте MasterChef.

Шаг III: получение прибыли

В конечном итоге злоумышленник вызвал UBT.withdrawAsset и MasterChef.withdraw, чтобы обменять LP-токены на BTCB и WBNB. Поскольку объем ликвидности оказался больше, чем должен был быть у атакующего, он получил прибыль.

Уроки

Помимо проблемы реентранси, одной из первопричин стало отсутствие проверки переданных токенов. Мы уже наблюдали подобные случаи ранее, например, в инцидентах с Visor и Coin98.

О компании BlockSec

BlockSec — это передовая компания в сфере безопасности блокчейнов, основанная в 2021 году группой всемирно признанных экспертов по безопасности. Компания стремится повысить безопасность и удобство использования развивающегося мира Web3, чтобы способствовать его массовому внедрению. Для этого BlockSec предоставляет услуги аудита безопасности смарт-контрактов и EVM-цепей, платформу Phalcon для разработки систем безопасности и проактивного блокирования угроз, платформу MetaSleuth для отслеживания и расследования транзакций, а также расширение MetaSuites для эффективной работы разработчиков Web3 в криптомире.

На сегодняшний день компания обслужила более 300 уважаемых клиентов, таких как MetaMask, Uniswap Foundation, Compound, Forta и PancakeSwap, а также привлекла десятки миллионов долларов США в двух раундах финансирования от ведущих инвесторов, включая Matrix Partners, Vitalbridge Capital и Fenbushi Capital.

Официальный сайт: https://blocksec.com/

Официальный аккаунт в Twitter: https://twitter.com/BlockSecTeam

Sign up for the latest updates
За пределами смарт-контракта: операционная безопасность доменов и DNS в Web3
Security Insights

За пределами смарт-контракта: операционная безопасность доменов и DNS в Web3

Аудит контрактов не проверяет сам контракт. Мы провели 800 SEAL-проверок DNS и регистраторов для 100 доменов из TVL Top 100 DefiLlama — лишь один домен прошёл все. Каких четырёх мер защиты не хватает большинству и почему это критично для пользователя.

Поверхности атаки Web3: обзор тестирования на проникновение

Поверхности атаки Web3: обзор тестирования на проникновение

Крипто-организации сохраняют все традиционные уязвимости и добавляют цепочку работы с деньгами. Статья описывает систему через четыре компонента: приложение, авторизацию и подпись, взаимодействие с блокчейном, инфраструктуру — с их зонами атак, а также пять специфичных для web3 областей: от эксплуатации и подписания до вывода средств и контрактов.

Потеряно ~23 млн $: эксплойты Cosmos EVM и Moonwell | BlockSec Weekly
Security Insights

Потеряно ~23 млн $: эксплойты Cosmos EVM и Moonwell | BlockSec Weekly

За период (22.08.2026–30.08.2026): 5 инцидентов, ~$22,7 млн убытков; Tectonic — $74–119,5 млн, откачены на Cronos. Взлом Cosmos EVM (~$5,7 млн) на TAC Chain, Moonwell, Ajna, Rain Card Exploit (Ed25519) на Solana.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit
[Не все токены одинаково полезны] Краткий анализ атаки на Paraluni