Vào ngày 22 tháng 4, công ty an ninh Web3, GoPlus, thông báo trên nền tảng X rằng dự án DeFi R0AR trên Ethereum đã bị đánh cắp khoảng 780.000 USD vào ngày 16 tháng 4 do lỗ hổng hậu trường hợp đồng. Báo cáo sự cố được công bố sau đó cho biết các quỹ đã được thu hồi, nhưng thông tin chi tiết như địa chỉ và hash giao dịch vẫn chưa được công khai.
Vụ việc này là một minh chứng điển hình về lỗ hổng hậu trường hợp đồng, nhắc nhở người dùng cẩn thận với những hợp đồng có lỗ hổng này và tránh tương tác. Hợp đồng (R0ARStaking) bị can thiệp ngay từ khi triển khai. Địa chỉ gian lận (0x8149f) đã cài sẵn một lượng lớn Token 1R0R để rút tiền từ ban đầu.
Quy trình gian lận diễn ra khi địa chỉ đó thực hiện lệnh deposit() và harvest() nhỏ, chuẩn bị cho lệnh rút khẩn cấp EmergencyWithdraw(). Theo logic mã, vì rewardAmount lớn hơn r0arTokenBalance, rewardAmount đã được gán cho số dư trong hợp đồng, sau đó toàn bộ Token trong hợp đồng chuyển đến địa chỉ gian lận.
Tương tự, toàn bộ lpTokens trong hợp đồng LP Token cũng bị chuyển đến địa chỉ này. Cuối cùng, userInfo.amount được đặt về 0. Cấu trúc của userInfo trong hợp đồng là Mapping, địa chỉ là địa chỉ động tính toán qua Hash của uid và msg.sender của userInfo. Có thể suy luận rằng hậu trường này đã được tính toán bằng địa chỉ gian lận trước khi hợp đồng được triển khai.
Nội dung cung cấp thông tin thị trường và không phải là lời khuyên đầu tư.