Back to Blog

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

Code Auditing
March 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
Информационный бюллетень — июнь 2026 г.
Security Insights

Информационный бюллетень — июнь 2026 г.

Отчёт за июнь 2026: три крупнейших инцидента с общими потерями ~$22M. Honeypot атака опустошила MEV-бот на ~$15M. Уязвимости Aztec rollup привели к потере ~$4.35M. Ошибка Ed25519 в SecondFi раскрыла ключи 374 кошельков (~$2.4M).

~$4M потеряно: эксплойты Taiko и SecondFi | Еженедельник BlockSec
Security Insights

~$4M потеряно: эксплойты Taiko и SecondFi | Еженедельник BlockSec

Отчёт за 22–28 июня 2026: два инцидента, ~$4,1М потерь. Эксплойт Taiko: утечка ключа SGX + неполная политика аттестации → подделка L2-доказательств. SecondFi: уязвимость Ed25519 (нонс без секрета) → восстановление приватных ключей Cardano.

~$18 млн потеряно: jaredFromSubway, Aztec и другие | Еженедельник BlockSec
Security Insights

~$18 млн потеряно: jaredFromSubway, Aztec и другие | Еженедельник BlockSec

Еженедельный отчёт о безопасности блокчейна (15–21 июня 2026): 3 инцидента в Ethereum и BNB Chain, ~$18,3M потерь. Атака на MEV-бот jaredFromSubway (~$15M): бот одобрял свои активы недоверенным контрактам. Злоумышленник создал фиктивные токены и пулы. Также: эксплойт Aztec — отсутствие ограничения равенства в ZK-схеме.

Best Security Auditor for Web3

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

BlockSec Audit