Как хакеры украли $40M в GMX

$40M Ограбление было не случайным
Я увидел хеш транзакции на Arbitrum: 0x03182d3f0956a91c4e4c8f225bbc7975f9434fab042228c7acdc5ec9a32626ef. Злоумышленник не взламывал сейф — он искусно использовал баг перехода в executeDecreaseOrder. Эта функция была спроектирована для принятия только EOA-адресов. Но он передал смарт-контракт вместо них. Это не баг — это эксплуатация.
Как AUM стал оружием
GLP должен отражать пропорциональные требования к активам: USDC, ETH, WBTC. Формула redeem_amount = (user_GLP / total_GLP_supply) * AUM кажется чистой — пока AUM не манипулируется. Обычно AUM = общий коллатерал минус нереализованные потери. Но когда включено плечо, а короткие позиции открываются до выкупа? Внезапно нереализованные потери исчезают из уравнения — и AUM искусственное растёт.
Злоумышленник открыл огромные короткие позиции по WBTC прямо перед вызовом unstakeAndRedeemGlp. Система пересчитала AUM так, будто эти короткие позиции приносили прибыль — а не риск. Он выкупил GLP против завышенной стоимости пула и ушёл с гораздо большей долей.
Это не о жадности. Это о flawed предположениях: считать непроверенные вызовы контрактов доверенными EOA-входами, игнорируя дрейф состояния под плечом.
Почему это продолжается
Мы построили системы на доверии, а не на проверке. Мы предполагаем, что ликвидные пулы статичны, когда они динамичны по замыслу — и позволяем плечу усиливать риск без реального аудита.
WolfOfBlockStreet
Популярный комментарий (1)

El gato Satoshi no hackea códigos… ¡hackea tu confianza! Cuando el contrato acepta direcciones EOA y tu AUM se infla como churro en Madrid, hasta que te das cuenta: no era un bug, era una tapa de jamón con leverage. ¿Quién dejó la billetera abierta? Yo sí lo vi: el gato comió tus WBTC mientras tú pensabas en ‘deFi seguro’. Comparte esto… o al menos dale like.
¿Tú también tienes un gato llamado Satoshi?

