Tôi không tin vào những báo cáo audit 'pass' từ các công ty lớn – tôi tin vào mã nguồn mở và test thực tế. Đầu tuần này, một giao thức cross-chain AMM trên Arbitrum đã bị khai thác 50 triệu USD. Các bản tin nhanh đổ lỗi cho 'oracle manipulation', nhưng khi tôi đào vào bytecode, sự thật phức tạp hơn nhiều.
Context: Giao thức XYZ (giả mạo) sử dụng LayerZero để chuyển tài sản giữa các chain, với một hợp đồng liquidity pool đơn giản. Whitepaper của chúng tuyên bố 'audited by Trail of Bits và Peckshield', nhưng tôi đã kiểm tra commit cuối cùng – bản vá cuối cùng được thực hiện sau audit, không được review lại. Đây là lỗi cổ điển mà bất kỳ ai trong nghề đều biết: 'audit after deployment' là vô nghĩa.
Core: Khi tôi phân tích hàm swap trong pool, phát hiện ra rằng cơ chế 'dynamic fee' dùng một oracle nội bộ từ một DEX khác trên cùng chain. Nếu oracle bị thao túng qua một flash loan, attacker có thể khiến pool tính fee âm, từ đó rút toàn bộ thanh khoản. Tôi đã tự deploy một bản test trên Goerli fork, mất 2 ETH gas để mô phỏng chính xác vụ tấn công. Kết quả: chỉ cần 3 bước – vay 50 triệu USDC từ Aave, swap trên DEX để đẩy giá oracle, rồi gọi swap trên pool mục tiêu. Tổng thời gian: 12 giây. Proof-of-concept code của tôi có tại block 12345678 trên testnet.
Tôi không tin vào 'sự cố ngoài ý muốn' – tôi tin vào lỗi logic có thể phòng ngừa. Vấn đề thực sự là đội ngũ phát triển đã chọn thiết kế rẻ hơn (dynamic fee dựa trên oracle) thay vì một cơ chế an toàn hơn (như TWAP hoặc giới hạn slippage cứng). Đây là trade-off cố hữu của DeFi: tốc độ so với an toàn. Trong thị trường bull này, hầu hết các dự án đều chọn tốc độ để ra mắt nhanh, bỏ qua các lớp bảo vệ tốn thêm 2-3 ngày code.