

Vào ngày 17 tháng 3 năm 2022, theo giờ Bắc Kinh, hệ thống của chúng tôi đã theo dõi các giao dịch đáng ngờ liên quan đến APE Coin. Theo báo cáo của người dùng twitter Will Sheehan, robot chuyên kinh doanh chênh lệch giá đã thu được hơn 60.000 APE Coin (trị giá 8 đô la mỗi đồng) thông qua các khoản vay chớp nhoáng. .
Sau khi phân tích, chúng tôi thấy rằng điều này có liên quan đến các lỗ hổng trong cơ chế airdrop của APE Coin. Cụ thể, việc APE Coin có thể được airdrop hay không tùy thuộc vào việc liệu một người dùng nhất định có giữ trạng thái tức thời của BYAC NFT hay không và trạng thái tức thời này có thể bị thao túng bởi kẻ tấn công vay một khoản vay nhanh và sau đó đổi lấy BYAC NFT. Trước tiên, kẻ tấn công mượn Mã thông báo BYAC thông qua khoản vay flash, sau đó đổi lấy BYAC NFT. Sau đó, sử dụng các NFT này để yêu cầu APE được airdrop và cuối cùng sử dụng BYAC NFT đúc để nhận Mã thông báo BYAC để trả lại khoản vay flash. Chúng tôi cho rằng mô hình này rất giống với các cuộc tấn công thao túng giá dựa trên các khoản vay chớp nhoáng (hợp đồng sử dụng giá tức thời của một tài sản để định giá một tài sản khác và giá tức thời này có thể bị thao túng).
Tiếp theo, chúng tôi sử dụng một giao dịch tấn công (https://versatile.blocksecteam.com/tx/eth/0xeb8c3bebed11e2e4fcd30cbfc2fb3c55c4ca166003c7f7d319e78eaab9747098) để mô tả ngắn gọn toàn bộ quá trình.
Bước I: Chuẩn bị tấn công
Kẻ tấn công đã mua BYAC NFT số 1060 và chuyển nó vào hợp đồng tấn công. NFT này đã được kẻ tấn công mua trên thị trường mở với giá 106 ETH.
Bước II: Vay flash loan và quy đổi thành BYAC NFT
Kẻ tấn công đã mượn một lượng lớn BYAC Token thông qua các khoản vay flash. Trong quá trình này, kẻ tấn công đã lấy được 5 BYAC NFT (số 7594, 8214, 9915, 8167, 4755) thông qua quy đổi mã thông báo BYAC.
Bước III: Nhận phần thưởng airdrop thông qua BYAC NFT
Trong quá trình này, kẻ tấn công đã sử dụng 6 NFT để yêu cầu airdrop. 1060 là giao dịch mua của nó và 5 số còn lại được lấy ở bước trước. Thông qua airdrop, kẻ tấn công đã nhận được tổng cộng 60.564 mã thông báo APE làm phần thưởng.
Bước IV: Mint BYAC NFT nhận BYAC Token
Kẻ tấn công cần trả lại BYAC Token đã mượn. Vì vậy, nó sẽ nhận được BYAC NFT đúc để nhận BYAC Token. Trong quá trình này, anh ấy cũng đúc số 1060 NFT của riêng mình. Điều này là do Mã thông báo BYAC bổ sung được yêu cầu để trả phí cho khoản vay nhanh. Sau đó bán Mã thông báo BYAC sau khi trả hết phí dịch vụ để nhận 14 ETH.
lợi nhuận
Kẻ tấn công đã lấy được 60.564 mã thông báo APE, trị giá 500.000 đô la Mỹ. Chi phí tấn công là 1060 NFT (106ETH) trừ đi 14ETH thu được bằng cách bán BYAC Token.
Lessons
Chúng tôi tin rằng gốc rễ của vấn đề là airdrop của APE chỉ xem xét trạng thái tức thời (liệu NFT có được nắm giữ bởi một người dùng nhất định tại một thời điểm nhất định hay không). Và giả định này rất mong manh và có thể dễ dàng bị thao túng bởi những kẻ tấn công. Nếu chi phí của kẻ tấn công thao túng trạng thái ít hơn phần thưởng của airdrop APE thu được, thì cơ hội tấn công thực sự sẽ được tạo ra.
