Tấn công EIP-7702 giải thích
Bản nâng cấp Pectra của Ethereum cho phép một ví thông thường tạm thời hoạt động như một smart contract. Các drainer lập tức biến điều này thành một kiểu khai thác (exploit) một chữ ký mới mà các công cụ kiểm tra approval kiểu cũ không thể phát hiện.
Quét ví của bạn: miễn phí Giám sát 24/7 trên Telegram
Chỉ cần địa chỉ công khai. Không kết nối ví. Không cần ký gì cả.
EIP-7702 thực sự làm gì
EIP-7702 cho phép một ví thông thường (EOA) ký một 'authorization' (ủy quyền) để giao việc thực thi cho đoạn code nằm ở một địa chỉ khác, biến nó thành một tài khoản giống smart contract trong suốt thời gian ủy quyền còn hiệu lực. Mục đích ban đầu là phục vụ các nâng cấp account-abstraction hợp pháp, gộp nhiều giao dịch, tài trợ phí gas, mà không cần chuyển sang địa chỉ mới.
Cách một drainer lợi dụng authorization này
Một trang phishing sẽ ngụy trang cùng một chữ ký này thành bước 'nhận thưởng' (claim), 'nâng cấp' hoặc 'xác minh tài khoản'. Khi bạn ký, việc thực thi của ví bạn sẽ bị ủy quyền cho contract của kẻ tấn công. Không cần approval riêng cho từng token, đoạn code được ủy quyền có thể hành động như chính tài khoản của bạn và di chuyển bất cứ thứ gì nó đang nắm giữ.
Vì sao các biện pháp phòng thủ cũ không phát hiện được
Các công cụ quét approval theo dõi các lệnh gọi approve() và Permit tác động đến bộ nhớ allowance của token. Một authorization theo EIP-7702 không làm cả hai việc đó, nên việc revoke approval sau này không thay đổi được gì. Một ủy quyền được ký với chainId 0 sẽ có hiệu lực trên mọi chain cùng lúc, đây là dấu hiệu đặc trưng của một ủy quyền được tạo ra để rút cạn hàng loạt, chứ không phải cho một ứng dụng hợp pháp đơn lẻ.
Cách Guardian phát hiện nó trước khi bạn ký
Guardian của Veriql giải mã bất kỳ authorizationList nào trong một yêu cầu đang chờ ký, gắn cờ một ủy quyền chainId-0 (áp dụng cho mọi chain) là dấu hiệu của drainer, và hiện một cảnh báo STOP toàn màn hình trước khi bạn ký, bất kể code của contract đích làm gì. Kể từ khi Pectra ra mắt, phần lớn các ủy quyền 7702 được ghi nhận bên ngoài các ứng dụng đã biết đều là độc hại, vì vậy hãy coi bất kỳ yêu cầu ủy quyền bất ngờ nào cũng là một tín hiệu dừng lại.
Câu hỏi thường gặp
Revoke các approval token của tôi có hoàn tác được một ủy quyền 7702 độc hại không?
Không. Một ủy quyền không tác động đến bộ nhớ allowance, nên không có gì ở đó để revoke cả. Để hoàn tác, bạn cần ký một authorization mới từ chính ví đó, trỏ ủy quyền quay về không có gì, điều này không phải lúc nào cũng khả thi nếu ví đã bị xâm nhập hoàn toàn, đó là lý do vì sao chuyển tài sản còn lại sang một ví mới là lựa chọn an toàn hơn theo mặc định.
Bản thân EIP-7702 có nguy hiểm không?
Không: đây là một bản nâng cấp hợp pháp của Ethereum. Rủi ro giống hệt như mọi kiểu drainer khác: bị lừa để ký một thứ gì đó cho contract của người khác. Chỉ là loại chữ ký này còn mới, nên ban đầu có ít công cụ theo dõi nó hơn.