AktualnościKryptoKontrakty powiązane z atakującymi odpowiadały za 63% transakcji autoryzacyjnych EIP-7702, wynika z badania USENIX

Kontrakty powiązane z atakującymi odpowiadały za 63% transakcji autoryzacyjnych EIP-7702, wynika z badania USENIX

Autor: Blockonomi·

Najważniejsze informacje

  • Recenzowane badanie na USENIX Security '26 wykazało, że 63% transakcji autoryzacyjnych EIP-7702, czyli 2 322 548 z 3 664 166 zarejestrowanych do 15 lipca 2025 roku, było powiązanych z kontraktami uznanymi za złośliwe w siedmiu blockchainach.
  • Badacze odnotowali 2 362 848,76 dolara potwierdzonych strat w trzech typach ataków i zweryfikowali 924 złośliwe kontrakty przy użyciu filtrów transakcji, analizy kodu i przeglądu ręcznego.
  • Badanie zidentyfikowało 967 aktywnych kontraktów Ethereum, które nadal opierają się na założeniu, że adres portfela nie może zachowywać się jak kontrakt, narażając około 10,14 miliona dolarów w aktywach na potencjalne ryzyko.
  • EIP-7702, współautorstwa Vitalika Buterina, zostało uruchomione wraz z aktualizacją Pectra 7 maja 2025 roku, pozwalając zwykłym portfelom tymczasowo działać jako inteligentne kontrakty przy zachowaniu adresu i klucza prywatnego.
  • Ethereum.org opublikowało wytyczne zalecające, aby portfele umieszczały kontrakty delegujące na białej liście, wyraźnie pokazywały użytkownikom zatwierdzany kod i korzystały wyłącznie z audytowanych implementacji inteligentnych kont.
Kontrakty powiązane z atakującymi odpowiadały za 63% transakcji autoryzacyjnych EIP-7702, wynika z badania USENIX

Recenzowane badanie przedstawione na USENIX Security '26 wykazało, że w pierwszych miesiącach działania funkcji delegowania portfeli kontrakty powiązane z atakującymi odpowiadały za 63% transakcji autoryzacyjnych EIP-7702 w sieci Ethereum. Badacze prześledzili 3,66 miliona transakcji autoryzacyjnych w siedmiu blockchainach do lipca 2025 roku, odnotowali 2,36 miliona dolarów potwierdzonych strat oraz zidentyfikowali dodatkowo 10,14 miliona dolarów w aktywach narażonych wskutek przestarzałych zabezpieczeń kontraktów.

Omawiana funkcja, EIP-7702, pozwala zwykłemu portfelowi Ethereum tymczasowo działać jak inteligentny kontrakt. Została uruchomiona w ramach aktualizacji Pectra 7 maja 2025 roku. Propozycja, której współautorem jest współzałożyciel Ethereum Vitalik Buterin, została wprowadzona podczas planowania Pectra jako zamiennik wcześniejszego projektu EIP-3074 i stanowi część szerszego wysiłku Ethereum w zakresie abstrakcji kont, którego celem jest zapewnienie zwykłym portfelom możliwości, które wcześniej wymagały odrębnego kontraktu.

Zespół badawczy przeanalizował ponad 22,8 miliarda transakcji w siedmiu blockchainach: Ethereum, Binance Smart Chain, Polygon, Optimism, Arbitrum, Base i Gnosis. W tym zbiorze danych znalazł 3 664 166 transakcji autoryzacyjnych EIP-7702 do 15 lipca 2025 roku. Spośród nich 2 322 548 transakcji, czyli 63%, było powiązanych z kontraktami uznanymi przez badaczy za złośliwe. Zespół wykorzystał filtry transakcji, analizę kodu i przegląd ręczny, aby potwierdzić łącznie 924 złośliwe kontrakty.

Jak działa funkcja delegowania

EIP-7702 pozwala adresowi portfela wskazywać na odrębny kod kontraktu bez zmiany samego adresu. Oryginalny właściciel zachowuje swój klucz prywatny, ale powiązany kod może działać z pełnymi uprawnieniami tego konta. Ponieważ adres pozostaje bez zmian, środki, historia i tożsamość są zachowywane; zmienia się natomiast to, że zachowanie konta jest definiowane przez kod, na który aktualnie wskazuje. Delegowanie można również zmienić lub anulować, podpisując nową autoryzację, dlatego kod widoczny w łańcuchu odzwierciedla jedynie najnowszą z nich.

Taka konstrukcja pozwala portfelom dodawać funkcje, takie jak łączenie wielu operacji w jedną transakcję lub umożliwienie innej osobie opłacenia opłaty za gaz. Oznacza to również, że powiązany kod staje się częścią bezpieczeństwa portfela. Jeśli ten kod jest wadliwy lub napisany przez atakującego, może zatwierdzać transfery, przenosić środki lub współdziałać z aplikacjami tak, jakby był właścicielem konta.

Według badaczy atakujący przygotowywali te autoryzacje z wyprzedzeniem i nakłaniali ofiary do ich podpisania, w niektórych przypadkach za pośrednictwem monitu portfela, który nie pokazywał wyraźnie, jaki kod był zatwierdzany.

Potwierdzone straty i narażone aktywa

Badanie odnotowało 2 362 848,76 dolara potwierdzonych strat w trzech typach ataków.

Osobna część badania przeanalizowała starsze kontrakty zakładające, że adres portfela nigdy nie może zachowywać się jak kontrakt. To założenie obowiązywało od uruchomienia Ethereum i było stosowane jako powszechna kontrola bezpieczeństwa, ale przestało obowiązywać wraz z wdrożeniem EIP-7702. Badacze znaleźli 967 aktywnych kontraktów Ethereum, które nadal opierają się na nim jako kontroli bezpieczeństwa, narażając około 10,14 miliona dolarów w aktywach na potencjalne ryzyko.

Badacze udokumentowali również, że atakujący po ataku przełączają konto z powrotem na wyglądający normalnie kod, co utrudnia osobom sprawdzającym aktualny stan portfela zauważenie, że został on wcześniej przejęty. Dodatkowo znaleźli 500 celów delegowania wskazujących na adresy, na których nie wdrożono jeszcze żadnego kodu. Kod mógłby zostać dodany do tych adresów później, zmieniając faktyczne działanie portfela, mimo że jego zarejestrowany cel pozostaje bez zmian.

Autorzy badania zaznaczają, że ich metoda może nie wychwycić każdego złośliwego kontraktu, zwłaszcza nowszych lub stosujących inne metody ataków. 924 potwierdzone kontrakty odzwierciedlają to, co badacze byli w stanie zweryfikować, a nie pełny zakres nadużyć.

Wytyczne dla portfeli i propozycje

W odpowiedzi Ethereum.org opublikowało wytyczne zalecające, aby portfele umieszczały kontrakty delegujące na białej liście, wyraźnie pokazywały użytkownikom zatwierdzany kod i korzystały wyłącznie z audytowanych implementacji inteligentnych kont. Pokrewna propozycja wzywa portfele do ograniczenia się do krótkiej listy publicznie recenzowanych systemów kont zamiast pozwalać dowolnej aplikacji żądać niestandardowego kodu delegującego. Ponieważ żądania delegowania trafiają do użytkowników w interfejsach portfeli, a nie na poziomie protokołu, wdrożenie tych zabezpieczeń na poziomie interfejsu stanowi obecnie praktyczną linię obrony.

Badacze i deweloperzy Ethereum nawołują teraz portfele do weryfikowania i wyraźnego wyświetlania każdego kodu, na który konto deleguje.

Źródło: Blockonomi