Token DCF đã bị khai thác vào ngày 24 tháng 11 năm 2024, dẫn đến thiệt hại ước tính khoảng 400.000 đô la tại thời điểm khai thác. Nguyên nhân gốc rễ của vụ khai thác là do thiếu bảo vệ Slippage (Trượt giá) khi tính phí để thêm thanh khoản trở lại cặp token.
Tổng quan
Kẻ tấn công: https://bscscan.com/address/0x00c58434f247dfdca49b9ee82f3013bac96f60ff
Hợp đồng dễ bị tấn công: https://bscscan.com/address/0xA7e92345ddF541Aa5CF60feE2a0e721C50Ca1adb
Giao dịch tấn công: https://bscscan.com/tx/0xb375932951c271606360b6bf4287d080c5601f4f59452b0484ea6c856defd6fd
Phân tích khai thác
Hợp đồng Token DCF tính phí 5% token khi bán và tự động bán phí thành USDT và mua DCT để thêm vào bể thanh khoản USDT-DCT.
Vấn đề là tất cả các hoạt động mua/bán trong hợp đồng đều thiếu bảo vệ Slippage (Trượt giá) (số lượng nhận tối thiểu được đặt thành 0). Kẻ tấn công thao túng giá của DCT và DCF bằng cách mua token với khoản vay nhanh, đẩy giá lên cao đáng kể. Sau đó, chúng chuyển một lượng nhỏ token DCF vào cặp để kích hoạt phí, sau đó bán lấy USDT.
Bởi vì không có bảo vệ Slippage (Trượt giá), hợp đồng swap USDT thành DCF với mức giá bị thổi phồng cực kỳ và thêm thanh khoản trở lại cặp. Kẻ tấn công sau đó bán tất cả các token DCF và DCT mà chúng đã mua với giá cao hơn, trả lại khoản vay nhanh và thu lợi nhuận.
Bài học kinh nghiệm
Bảo vệ Slippage (Trượt giá) rất quan trọng khi sử dụng giao thức Uniswap. Các hợp đồng tự động mua hoặc bán token mà không có bảo vệ Slippage (Trượt giá) là mục tiêu hấp dẫn cho những kẻ khai thác, vì chúng có thể dễ dàng thực hiện các cuộc tấn công sandwich trên các giao dịch tự động để tận dụng các biến động giá để thu lợi. Luôn nhớ sử dụng bảo vệ Slippage (Trượt giá) khi swap, và tránh triển khai các chức năng mua/bán tự động trong các hợp đồng bất cứ khi nào có thể.
Rất khuyến nghị thực hiện kiểm định bảo mật, cho dù đó là một hợp đồng ERC20 đơn giản với một số thay đổi nhỏ hay một giao thức DeFi phức tạp với hàng trăm nghìn dòng mã.