Exploit Venus Protocol. $THE (Thena).
Тиждень тому вилізло дуже цікаве арбітраже вікно. Постараюся вам детально пояснити що сталося, для ясності.
Почнемо з того, що THENA безпосередньо не постраждала, їхні смарт-контракти та пули лікви в безпеці. Вразливість знайшли в протоколі Venus, мережі BSC.
Основною причиною цього інциденту стала відома архітектурна вразливість у механізмі контролю за лімітом пропозиції в мережі Venus, яка була виявлена раніше, але не усунена.
Що зробив хакер? Розберем в 5 рівнів.
Рівень 1, підготовка
Він приблизно 9 місяців накопичував велику позу в $THE на Venus. На момент атаки основна адреса вже контролювала близько 12.2 млн vTHE (лендінг-токен Venus), тобто близько 84% від supply cap ринку $THE (в Venus для кожного активу є supply cap = це максимальна кількість токена, яку взагалі можна внести під заставу). THE він відкупляв використовуючи кошти, які прийшли йому через Tornado Cash (7400 ETH~), далі пішли як застава на Aave, потім у стейбли, а вже ними скуповували THE.
Рівень 2, мейн атака
Однією транзою він зробив спеціальний контракт під атаку. Шість кошів перекинули приблизно 36M токенів $THE напряму в контракт vTHE. Це різко роздуло exchange rate. Далі цей контракт почав набирати займ на Venus, в USDC, CAKE і BNB. Частину THE він додатково позичив і знов закинув в vTHE, щоб ше сильніше роздути оцінку застави. Exchange rate виріс у 3.81 раза. Тут поясню трохи детальніше.
*Не путайте таку маніпуляцію з лупінгом, бо при лупінгу позичені токени кругами депаються і за них мінтяться нові умовні vTHE, тобто реально росте розмір застави. Тут чувак брав позичені THE, просто кидав напряму в контракт, нові vTHE не створювались, але баланс THE в пулі ріс. Тому exchange rate (скільки THE коштує за 1 vTHE) піднімався, і його стара застава виглядала дорожчою без фактичного збільшення пози.
Рівень 3, памп ціни $THE
Роздути заставу було замало, шоб провернути всю схему. Треба було ше апнути саму ринкову ціну токена THE, щоб система оцінила заставу ще дорожче. Хакер почав агресивно відкупати THE, через що oracle, на який орієнтувався Venus, тимчасово зафіксував вищу ринкову ціну (вона зросла приблизно з $0.26 майже до $4). У результаті протокол почав рахувати заставу по завищеній вартості. Спочатку захист oracle це не приймав, але через деякий час джерела цін зійшлися на завищеному рівні, і протокол почав вірити цій ціні. Після цього заставу THE Venus вже оцінював за маніпульованою ціною.
Рівень 4, збір сливок
Під цю запамплену варність застави, хакер напозичав приблизно на $14.9M в різних токенах (CAKE, BNB, WBNB, USDC, BTCB). При піку він завів як заставу 53.23M токенів THE, тобто 367% від встановленого supply cap в 14.5M токенів. Не путайте з початковою позикою, бо на початку він брав позику саме під маніпуляції ціни, а тут вже почав виносити кошти з протоколу.
Рівень 5, крах ціни
Коли почався сильний тиск селлерів, THE полетів до $0.22 (навіть до атаки він коштував дорожче). Почались ліквідації через знецінення застави. Застава виглядала великою через його маніпуляції, але по факту схлопнути ціну і відповідно вартість його застави = було легко. Як результат, ліквідації не покрили всі борги, і у Venus утворилася дирочка, з мінусом приблизно $2.15-2.18M. Якшо простіше, ліквідатори продали всю доступну заставу, але цього не хватило щоб вернути весь кредит (борг $15M, за заставу получили $13M, дирка $2M).
В наслідок таких маніпуляцій, є і ті хто втратив кошти. А саме на займі $THE, через ліквідацію. Читав як багато хто жалівся про збиток в шість нулів+, про те що було б правильно повернути таким користувачам кошти, як підкріплення репутації Venus та THENA. Але я думаю що їм похуй.
DeFi буває не на 100% безпечний, і такі ситуації вилізають як приклад.
Джерело: https://community.venus.io/t/the-market-incident-post-mortem/5712