Không lưu ký · chỉ đọc

Cách approval khiến ví bị rút cạn

Một approval không di chuyển token của bạn ngay hôm nay, nó cấp cho một contract quyền lâu dài để di chuyển token bất cứ khi nào contract đó muốn. Đây là cách quyền đó biến thành một vụ rút cạn ví, và cách tìm ra rồi revoke nó trước khi quá muộ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ả.

Một approval thực sự cấp quyền gì

Gọi hàm approve(spender, amount) của một token không gửi bất cứ thứ gì cả. Nó ghi một quyền vào contract của token: spender có thể gọi transferFrom trên số dư của bạn, tối đa bằng amount, bất cứ khi nào nó muốn, mà không cần thêm chữ ký nào từ bạn. Mọi lệnh swap, mint và bridge đều yêu cầu một approval như vậy trước khi có thể rút token mà nó cần.

Vì sao 'không giới hạn' là cái bẫy mặc định

Hầu hết các dapp yêu cầu số lượng tối đa có thể để bạn không bao giờ phải approve lại cho spender đó nữa. Điều này tiện lợi, nhưng đồng thời cũng là một tấm séc khống lâu dài: allowance không hết hạn, không giảm đi khi bạn chi tiêu, và vẫn giữ nguyên độ lớn như ngày bạn ký, kể cả vào ngày bạn đã quên mất dapp đó từng tồn tại.

Cách một spender trở nên độc hại

Spender không cần phải độc hại ngay từ đầu. Contract của nó có thể bị khai thác (exploit) nhiều tháng sau, đội ngũ đứng sau có thể hóa ra là một vụ rug, hoặc một token/farm lừa đảo có thể độc hại ngay từ đầu, bất kỳ trường hợp nào trong số này cũng cho phép ai đó gọi transferFrom trên mọi ví vẫn còn allowance đang mở, mà không cần thêm approval mới.

Tìm và revoke trước khi bị lợi dụng

Quét địa chỉ công khai của bạn để liệt kê mọi approval trên tất cả các chain, các allowance không giới hạn và các spender chưa xác minh hoặc bị gắn cờ sẽ được làm nổi bật, cùng với thời gian mỗi approval đã tồn tại. Revoke những approval rủi ro trên revoke.cash trước khi một approval bị lãng quên trở thành 'ngày lĩnh lương' của kẻ khác.

Câu hỏi thường gặp

Có approval nghĩa là tôi đã bị rút cạn ví rồi phải không?

Không. Approval là một quyền lâu dài, không phải một giao dịch chuyển tiền. Sẽ không có gì di chuyển cho đến khi spender thực sự gọi transferFrom, đó chính xác là lý do vì sao việc revoke trước có tác dụng.

Làm sao để biết approval nào là rủi ro?

Các allowance không giới hạn cho những contract chưa xác minh hoặc không rõ danh tính là rủi ro cao nhất, tiếp theo là bất kỳ spender nào bị gắn cờ độc hại hoặc một cái tên bạn không còn nhớ mình đã từng dùng. Một lượt quét sẽ tự động hiển thị cả ba loại này.

Liên quan