Bot Yoink wyprowadził 7,8 mln $ z portfela Gnosis Safe
Firmy zajmujące się bezpieczeństwem wskazują na błąd w zaufanym helper contract, a nie w rdzeniu Safe. Kelp DAO twierdzi, że rsETH pozostaje w pełni zabezpieczony; atak został też wyprzedzony przez bota frontrunningowego.

Najważniejsze informacje
- Napastnik wyprowadził z portfela Gnosis Safe na Ethereum około 2 900 rsETH o wartości 7,8 mln $.
- Transakcję wyprzedził bot Yoink, który zapłacił około 47 000 $ i wysłał 2 882 rsETH na inny adres.
- Błąd znajdował się w kontroli autoryzacji w zaufanym helper- i Multicall-contract, a nie w kontraktach rdzeniowych Safe.
Napastnik wyprowadził na Ethereum około 2 900 rsETH o wartości około 7,8 mln $ (6,8 mln €) z portfela Gnosis Safe. Według firm zajmujących się bezpieczeństwem BlockSec, Blockaid i SlowMist atak został następnie jeszcze raz wyprzedzony przez bota o nazwie Yoink, który przeprowadził frontrunning transakcji i wysłał tokeny na inny adres.
Jak działał atak
Portfel był skonfigurowany tak, aby helper contract mógł przesuwać środki, co jest rozwiązaniem często stosowanym przez osoby automatyzujące handel. Według SlowMist i BlockSec ten helper miał sprawdzać, czy wywołujący ma uprawnienia, ale okazało się, że kontrola zatwierdzała każdego, kto został wskazany jako cel przez samego helpera.
Następnie napastnik zamienił około 2 900 rsETH w puli handlowej, która została utworzona kilka minut wcześniej wokół bezwartościowego tokena o nazwie Permissionless Attacker Token. W efekcie w portfelu pozostało potwierdzenie odbioru, które nie miało żadnej wartości. Według firm zajmujących się bezpieczeństwem Yoink zapłacił około 47 000 $ (40 700 €), aby uzyskać pierwszeństwo, i ostatecznie zabrał 2 882 rsETH na osobny adres.
Błąd był w zaufanym komponencie
AstraSec napisał na X, że źródłem problemu był błędny check autoryzacji w kontrakcie Multicall. Inne firmy zajmujące się bezpieczeństwem doszły do tego samego wniosku: błąd znajdował się w elemencie, któremu zaufał sam właściciel portfela, a nie w kontraktach rdzeniowych Safe.
To rozróżnienie ma znaczenie, ponieważ wielu użytkowników kryptowalut włącza dodatkowe funkcje w portfelach i helper contracts do handlu lub automatyzacji. Wcześniejsze badanie dziesiątek dużych ataków na smart contracts pokazało już, że skuteczne exploity często nie wynikają wyłącznie z błędu technicznego, ale także z ludzkich decyzji i błędnych założeń dotyczących użycia oraz uprawnień. Również przesunięcie w stronę ataków na klucze i governance pokazuje, że napastnicy coraz częściej celują w najsłabsze ogniwo związane z dostępem i zarządzaniem, a nie tylko w sam kod.
Dlaczego to ma znaczenie dla użytkowników
Kelp DAO, emitent rsETH, poinformował, że jego kontrakty są bezpieczne, a rsETH jest w pełni zabezpieczony. Firma przekazała też, że adres, który kilka godzin wcześniej otrzymał rsETH, został tymczasowo wstrzymany na 24 godziny, aby token nie mógł tam wpływać ani z niego wypływać.
Dla europejskich użytkowników kryptowalut ten incydent pokazuje, że ryzyko nie tkwi wyłącznie w samym protokole, ale także w dodatkowych warstwach wokół niego, takich jak helper contracts i zautomatyzowany handel. Zwłaszcza w przypadku portfeli łączących wiele funkcji, nawet drobny błąd w kontroli dostępu może wystarczyć do dużej straty.