Абракадабра $1.8m хак повторює раніше виявлений недолік форка, розкриває Hacken

DeFi протокол Abracadabra втратив $1.8 мільйона після того, як зловмисник скористався простою логічною помилкою у його пакетній функції. Аналітики Hacken стверджують, що зловмисник вже відмив кошти через Tornado Cash.

Резюме

  • Abracadabra втратив майже $2 мільйон після того, як зловмисник використав просту логічну помилку в його функції пакетної обробки, подібно до атаки на форкований проект кількома днями раніше.
  • Атакуючий обійшов контрольний прапорець, призначений для перевірки, чи мають позичальники достатньо застави, і вивів шість Котлів за один раз, перш ніж обміняти вкрадений MIM на ETH і перекинути його через Tornado Cash.
  • Це не вперше, коли код Abracadabra став мішенню, але інцидент підкреслює, як маленька неімплементована функція може дозволити хакерам скористатися цим, навіть коли той же недолік був помітний у форку.

На початку жовтня Abracadabra, DeFi протокол кредитування, який дозволяє людям позичати свою стейблкойн MIM, використовуючи депозитні токени як забезпечення і який зазнав кількох атак хакерів раніше, цього разу знову втратив близько 1,8 мільйона доларів, після того як нападник використав просту логічну помилку в партійній функції протоколу, щоб позичити без надання будь-якого забезпечення, таким же чином, як і з форкованим проектом, який постраждав всього за кілька днів до цього, зазначили аналітики блокчейн-безпекової компанії Hacken у дослідженні, надісланому crypto.news.

Abracadabra запустилася як спосіб для людей використовувати токени, що приносять відсотки, як заставу та позичати токен, прив'язаний до долара США, який називається Magic Internet Money, або MIM. Система побудована навколо двох елементів: Cauldrons, які регулюють правила позичання, і DegenBox, спільного сховища, яке фактично тримає токени. Коротко: ви надаєте заставу в Cauldron, а DegenBox відстежує гроші за лаштунками.

Коротка версія того, що пішло не так, виглядає так: прапорець безпеки, який повинен був змусити провести остаточну перевірку того, чи має позичальник фактично забезпечення, було вимкнено в межах однієї транзакції. Як викладено у звіті Hacken, зловмисник "використав логічний недолік у функції cook() Abracadabra, де вони могли позичити токени MIM і потім відразу скинути прапорець валідації, який повинен був перевірити, чи є у них достатнє забезпечення." Це дозволило одноразове, незабезпечене позичання через кілька Cauldron.

Під мікроскопом

Ось як працював потік, простими словами. Abracadabra використовує пакетну функцію під назвою cook(), щоб користувачі могли виконувати кілька дій в одній транзакції. Наприклад, внести заставу та позичити одним кліком. Одна з цих дій, наприклад, крок "позичити", встановлює прапорець з назвою needsSolvencyCheck в true, що означає "в кінці цієї транзакції перевірте, що позичальник у безпеці."

Abracadabra $1.8m хак повторює раніше виявлену помилку форку, повідомляє Hacken - 1Один з вразливих Cauldrons | Джерело: HackenАле ще одна дія, яка може бути виконана в одному й тому ж пакеті, викликає “_additionalCookAction(…).” Як зазначає Hacken, ця функція була оголошена як “віртуальна” і ніколи не була реалізована, тому за замовчуванням вона повертала порожній об'єкт, де все було встановлено на false, включаючи цей needsSolvencyCheck прапор.

В результаті, зловмисник викликав дію позики, потім викликав дію дефолту, яка скинула прапорець, і в кінці, протокол ніколи не перевіряв платоспроможність.

Аналітики стверджують, що зловмисник вдарив по шести Котлам за один раз, забравши приблизно 1,79 мільйона MIM і обмінявши їх на ETH. Зловмисники скористалися вразливістю та систематично пройшли через шість різних Котлів, висмоктуючи з кожного "використовуючи ту ж техніку з викликом спеціальної функції приготування", пояснили аналітики.

Abracadabra $1.8m хак повторює раніше виявлену вразливість форку, виявляє Hacken - 2Легалізовані кошти з хаку Abracadabra | Джерело: HackenПісля обміну, злочинець переказав кошти через Tornado Cash, крипто міксинг протокол, в основному по 10 ETH кожен, поступово відправляючи протягом наступного дня.

І це не перший раз, коли код CauldronV4 Abracadabra був залучений до проблем. Інші інциденти на початку цього року використовували інші крайні випадки в тій же родині контрактів. Те, що зараз цікаво, це те, наскільки швидко відреагувала форкнута реалізація.

Згідно з доповіддю, форк під назвою Synnax призупинив або зняв з білого списку свій майстер CauldronV4 на власному DegenBox за кілька днів до витоку Abracadabra, тож, по суті, команда форку натиснула на аварійний гальмо після того, як помітила ту ж саму слабку схему, що свідчить про те, що ризик був видимий командам, які спостерігали за кодом, якщо його не виправили.

ETH-0.73%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити