Tháng 6/2021, khi thị trường BSC đang sốt với yield farming, một protocol mới ra mắt tại Việt Nam huy động được 20.000 BNB trong 24 giờ. Tôi ngồi audit contract cho một nhóm khác thì thấy code của protocol này có pattern tương tự – nhưng họ chưa thuê ai audit.
Hàm \(airdropPool\) dùng \(call\) với giá trị do người dùng kiểm soát. Reentrancy guard? Không. Kiểm tra \(tx.origin\)? Cũng không. Dưới góc nhìn bytecode, logic rút thưởng hoàn toàn không an toàn.
Hai tuần sau, hacker khai thác chính xác lỗi đó. Họ đã rút sạch pool thanh khoản: 15.000 BNB – khoảng 6 triệu USD thời điểm đó. Đội ngũ dự án gấp rút unpause contract nhưng muộn.
Tôi đã cảnh báo trên Twitter cá nhân ngày đầu tiên code được public. Chỉ 3 người reply, trong đó có một bot spam. Cộng đồng lúc đó chỉ thấy APY 2000%.
Điểm mù bảo mật: Ai cũng nghĩ router Uniswap là an toàn, nhưng fork rồi tự custom pool logic mà không audit lại là tự sát. Lỗi reentranry này không phải mới – nó từng xuất hiện trong DAO hack 2016.
Với kinh nghiệm audit ICO 2017, tôi nhận ra: bear market ép dự án làm cost-cutting, audit bị cắt giảm đầu tiên. Hậu quả? Những contract chưa audit sẽ là nguồn hack lớn nhất trong thị trường tăng. Lần tới khi bạn FOMO một pool lạ, hãy hỏi ngược lại: ‘Contract đã được cảnh báo chưa?’. Nếu chưa, bạn không phải đang đầu tư – bạn đang donate cho hacker.