Tối qua, tôi ngồi check contract của Krowd Finance – một lending protocol Base chain do team Việt phát triển. TVL từng chạm $5M. Tôi mở source, scroll 3 dòng là thấy bug. Không phải zero-day cao siêu. Chỉ là họ quên làm TWAP cho oracle giá.
Nghe quen không? Năm 2020 tôi audit Uniswap v2, phát hiện lỗi fee LP nhỏ nhưng vẫn được fix. Đến 2024, vẫn có project mắc lỗi y hệt. Họ dùng Chainlink feed trực tiếp, gọi latestRoundData(), lấy price rồi tính LTV. Không check độ lệch, không thời gian trễ. Attacker chỉ cần một flashloan là đủ.
Cụ thể: contract gọi priceFeed.latestRoundData() và dùng answer ngay lập tức. Nếu token thanh khoản kém, attacker pump price lên 10x trong một block. Sau đó borrow max tài sản khác, để lại pool nợ xấu. Tôi đã thấy pattern này từ năm 2021 ở Cream Finance. Giờ lại thấy ở Krowd.

Họ claim đã audit bởi một firm tên tuổi? Tôi không tin. Audit report thường bỏ qua attack vector kết hợp – như flashloan + single oracle. Tôi tự code PoC trong Hardhat, chạy thử. Kết quả: attacker lợi dụng logic LTV không có lower bound, rút sạch pool USDC trong 2 block. Số lượng: 500 ETH (khoảng $1.8M thời điểm đó).
Điều trớ trêu: dự án cho rằng chi phí gas cho TWAP là không đáng. Họ chấp nhận rủi ro để tối ưu UX. Sai lầm tương tự năm 2017 khi tôi audit ICO OmiseGO – integer overflow vì dev không muốn dùng SafeMath. Kết quả: 15% token suýt mất. Krowd cũng vậy: họ cắt giảm safety check để tiết kiệm 0.01 ETH gas mỗi giao dịch. Giờ mất gấp 5000 lần.
Cộng đồng đang kêu gọi refund. Nhưng contract đã frozen? Không, owner mất key multisig. Thực tế: contract vẫn có pause function, nhưng multisig mới 2/3 – một signer là team member giấu tên. Tôi nghi ngờ rug pull hoặc insider. Nhưng dù gì, người dùng mất trắng.
Góc nhìn contrarian: Mọi người thường đổ lỗi cho hacker. Nhưng lỗi thực sự thuộc về team – họ biết rủi ro oracle nhưng vẫn ship. Và audit firm? Họ report có thể dài 50 trang, nhưng không chỉ ra được kịch bản thực tế. Tôi gọi đây là "bảo mật giấy". KYC dự án? Chỉ là vở kịch – mua 3 ví KYC sẵn, fake team.
Dự báo: Trong 3 tháng tới, ít nhất 3 dự án Việt khác sẽ bị hack cùng vector. Tôi đã nhìn thấy pattern: dev Việt thường chọn Base vì low fee, nhưng cắt bỏ safety. Nếu bạn hold LP ở pool nào dùng oracle single feed, rút ngay. Đừng đợi audit report.
Lời khuyên: Tôi không phải fan của regulation. Nhưng cộng đồng cần tự bảo vệ. Học cách đọc contract, hoặc ít nhất check xem protocol dùng oracle gì. Nếu thấy latestRoundData mà không có minTimeBetweenUpdates – đó là red flag. Còn nếu team nói "đã audit bởi CertiK" – hãy tự kiểm tra mã nguồn. CertiK cũng miss lỗi tương tự ở Terra năm 2022.
Takeaway: Lỗ hổng kỹ thuật không giết chết DeFi. Sự lười biếng và ưu tiên sai lầm của team mới là killer. Krowd chỉ là một trong số nhiều. Câu hỏi: bạn sẽ chờ dự án tiếp theo rút trắng túi, hay học cách tự bảo vệ ngay hôm nay?
