Tôi đã kiểm tra mã nguồn của dự án 'LiquidSwap' suốt ba ngày, và phát hiện điều khiến tôi mất ngủ: một lỗ hổng integer overflow trong hợp đồng quản lý thanh khoản, có thể khiến kẻ tấn công rút sạch pool chỉ với một giao dịch flash loan. Nhưng điều đáng sợ hơn là—dự án vừa huy động 12 triệu USD từ các quỹ đầu tư lớn, và nhóm phát triển đã vội vã deploy lên mainnet mà không qua audit bên thứ ba. Trong thị trường tăng này, ai cũng đuổi theo TVL, ai cũng muốn launch nhanh. Nhưng tôi biết rõ: khi sóng triều rút, những lỗi kỹ thuật này sẽ thành bãi cạn chết người. Vết nứt nào cũng có lối vào.
Context Thị trường DeFi đang nóng trở lại vào đầu năm 2025. Bitcoin ETF đã được phê duyệt, hàng tỷ đô la từ các tổ chức chảy vào hệ sinh thái Ethereum. Uniswap V4 vừa ra mắt với kiến trúc hook linh hoạt, và vô số dự án clone fork từ các codebase cũ rầm rộ launch token. Nhưng điều mà báo chí không nói: phần lớn các dự án này đều dùng mã nguồn Solidity từ năm 2021, chưa được cập nhật các bản vá bảo mật mới nhất. Layer-2 scaling đã giảm phí giao dịch, nhưng lại làm tăng bề mặt tấn công—vì càng nhiều ứng dụng chạy trên các rollup, lỗi trong hợp đồng bridge càng dễ bị khai thác. Theo dữ liệu từ Rekt News, số vụ hack DeFi trong quý 1/2025 đã tăng 40% so với cùng kỳ năm trước, tập trung vào các giao thức non-audit hoặc chỉ audit một lần.
Core Tôi quyết định kiểm tra mã nguồn LiquidSwap bằng phương pháp như tôi từng làm với 0x Protocol năm 2017—đọc từng dòng, chạy mô phỏng trên Remix, và deploy local testnet. Mã giả của hợp đồng liquidity pool:

function addLiquidity(address tokenA, address tokenB, uint amountA, uint amountB) external {
require(amountA > 0 && amountB > 0);
uint256 poolBalanceA = IERC20(tokenA).balanceOf(address(this));
uint256 poolBalanceB = IERC20(tokenB).balanceOf(address(this));
// Lỗi: không kiểm tra overflow khi cộng
uint256 newPoolBalanceA = poolBalanceA + amountA;
uint256 newPoolBalanceB = poolBalanceB + amountB;
// ...
}
Chỉ cần một kẻ tấn công gửi một lượng lớn token giả (hoặc sử dụng flash loan để tạm thời inflate balance), giá trị newPoolBalanceA có thể tràn về 0, phá vỡ hoàn toàn cơ chế tính toán giá. Tôi đã gửi một proof-of-concept đến team, và tôi nhận được câu trả lời: 'Chúng tôi sẽ sửa trong bản patch tuần sau, nhưng hiện tại TVL đang tăng quá nhanh, không thể dừng contract được.' Đây chính là thời điểm mà kỹ thuật bị hy sinh cho marketing.
Tôi nhớ lại năm 2020, khi tôi chạy mô phỏng Uniswap V2 và phát hiện TWAP oracle có thể bị thao túng nếu thanh khoản dưới 10 ETH. Lúc đó tôi đã gửi báo cáo lên Ethereum Research, và Vitalik đã retweet. Nhưng bây giờ, với LiquidSwap, tôi thấy sự lặp lại của cùng một mô hình: các dự án non-audit bỏ qua các lỗ hổng cơ bản vì sợ mất thời gian. Tôi ước tính rằng ít nhất 30% số dự án mới trong thị trường này có chứa các lỗi tương tự, đặc biệt là về phép tính số học (arithmetic overflow/underflow) và kiểm soát truy cập (access control).

Cảnh báo rủi ro: Nếu bạn đang stake token vào một pool mới launch mà không có audit bên thứ ba, hãy tự hỏi—liệu nhóm phát triển có đủ năng lực để xử lý một cuộc tấn công flash loan không? Nếu không, bạn đang để tiền của mình trên một quả bom hẹn giờ.
Contrarian Angle Nhiều người cho rằng thị trường tăng sẽ 'cứu' tất cả—giá token tăng sẽ che giấu lỗi kỹ thuật, và chỉ khi thị trường giảm mới lộ ra. Nhưng tôi thấy ngược lại: chính sự vội vã trong thị trường tăng mới là nguyên nhân chính tạo ra lỗ hổng. Khi người dùng FOMO đổ tiền vào, nhóm phát triển cũng FOMO launch. Áp lực 'shipping fast' từ các quỹ đầu tư khiến quy trình audit bị rút ngắn hoặc bỏ qua. Một điểm mù khác là các giao thức Layer-2 bridge: các dự án thường cho rằng Optimistic Rollup 'đã an toàn' nhờ fraud proof, nhưng họ quên rằng fraud proof có độ trễ 7 ngày, và nếu có lỗi trong smart contract layer, kẻ tấn công có thể rút tiền trước khi bất kỳ ai kịp challenge. Tôi từng gửi một pull request sửa lỗi cho Optimism vào năm 2022, liên quan đến delay trong quá trình xác thực khi số giao dịch vượt 1000. Nếu không có bản vá đó, một attacker có thể khai thác cửa sổ thời gian để thoát tài sản.

Takeaway Khi mọi người đang đuổi theo APY và TVL, tôi ngồi đọc code. Vết nứt nào cũng có lối vào. Câu hỏi đặt ra: liệu chúng ta có đủ kiên nhẫn để sửa những vết nứt đó trước khi thị trường sụp đổ, hay chúng ta sẽ ngồi nhìn chúng nứt to ra? Tôi cá rằng trong 6 tháng tới, ít nhất một trong các dự án 'hot' hiện tại sẽ bị hack, và khi đó mọi người sẽ hỏi 'tại sao không ai phát hiện ra sớm hơn?' Câu trả lời là: có người đã phát hiện, nhưng họ bị bỏ qua vì tiếng ồn của thị trường.