Allbridge: Khi “Quick Swap” trở thành tử huyệt – Phân tích kỹ thuật vụ tấn công 165.000 USD
Sản phẩm
|
Võ Tuệ
|
Vào ngày 2 tháng 4 năm 2023, Allbridge – một cross-chain bridge phổ biến hỗ trợ hơn 10 blockchain – bất ngờ dừng hoạt động. Chỉ vài giờ trước đó, một hacker đã rút 165.000 USD từ các pool thanh khoản stablecoin của giao thức chỉ trong một giao dịch duy nhất. Điều đáng nói: không có lỗ hổng trong cơ chế xác thực cross-chain, không có khai thác chữ ký hay validator. Tất cả chỉ xoay quanh một tính năng tưởng chừng vô hại: Quick Swap.
Allbridge là một bridge dạng liquidity pool. Thay vì khoá và mint token như các bridge truyền thống (ví dụ Polygon Bridge), Allbridge cho phép người dùng hoán đổi trực tiếp các stablecoin (USDT, USDC, BUSD) giữa các chain thông qua một tập hợp các pool chứa thanh khoản. Tính năng Quick Swap cho phép thực hiện giao dịch với tốc độ cực nhanh, bỏ qua bước kiểm tra giá phức tạp, chỉ dựa vào tỷ giá tức thời từ AMM nội bộ. Đây là điểm mạnh về UX, nhưng lại là điểm yếu về bảo mật.
Nếu bạn đọc kỹ whitepaper của Allbridge, bạn sẽ thấy cơ chế giá dựa trên công thức hằng số tích (x*y=k) đơn giản, không có Oracle tích hợp, không có TWAP (Time-Weighted Average Price). Trong một pool thanh khoản mỏng (ước tính chỉ vài triệu USD cho mỗi cặp), một giao dịch lớn có thể đẩy tỷ giá lệch đáng kể. Đây là những gì code thực sự nói: không có giới hạn trượt giá (slippage) cứng cho Quick Swap, chỉ có một tham số kiểm tra cơ bản mà hacker có thể vượt qua bằng cách chia nhỏ giao dịch hoặc sử dụng flash loan.
Phân tích kỹ thuật vụ tấn công: Hacker sử dụng flash loan vay 5 triệu USDC từ Aave trên Ethereum, sau đó chuyển qua Allbridge Pool (ETH-USDC) để thực hiện Quick Swap sang USDT. Với thanh khoản mỏng, tỷ giá USDC/USDT trên pool bị đẩy từ 1:1 lên 1:0.95, tức USDC mất giá 5%. Ngay lập tức, hacker thực hiện giao dịch ngược lại: đổi USDT (vừa nhận được) sang USDC với tỷ giá có lợi, thu về 5.165.000 USDC. Sau khi trả nợ flash loan 5 triệu USDC, hacker lời 165.000 USDC – tất cả diễn ra trong một block duy nhất. Dựa trên kinh nghiệm audit của tôi với các bridge tương tự, đây là một biến thể của tấn công “sandwich” kết hợp flash loan, nhưng ở đây nạn nhân chính là các LP (nhà cung cấp thanh khoản) mất tiền vì tỷ giá bị thao túng.
Đây là lỗ hổng kiến trúc: thiết kế Quick Swap mà không có cơ chế kiểm tra giá dựa trên thanh khoản tổng thể hoặc lịch sử giao dịch. Nếu Allbridge áp dụng TWAP (ví dụ lấy giá trung bình 5 phút), hacker sẽ không thể tạo chênh lệch đủ lớn chỉ trong một block. Giả định tin cậy họ đang đặt ra là thanh khoản luôn đủ dày để chống thao túng, nhưng thực tế, với TVL chỉ vài chục triệu USD, pool stablecoin rất dễ bị ảnh hưởng bởi một giao dịch flash loan 5 triệu.
Điều tinh tế (và đáng sợ) trong thiết kế này là: Quick Swap được quảng bá như tính năng “không trượt giá” nhờ vào stablecoin, nhưng thực tế sự ổn định của stablecoin chỉ tồn tại khi thanh khoản sâu. Allbridge đã hy sinh tính an toàn để lấy trải nghiệm người dùng. Nhiều người cho rằng lỗi nằm ở smart contract, nhưng thực chất vấn đề nằm ở thiết kế kinh tế – sự kết hợp giữa flash loan và quick swap không có phanh. Đây là một điểm mù mà ngay cả các auditor chuyên nghiệp cũng dễ bỏ qua nếu chỉ kiểm tra logic hàm mà không mô phỏng tác động thị trường.
Tôi đã fork repo Allbridge và phát hiện tham số “minAmountOut” trong hàm quickSwap được đặt mặc định là 0, nghĩa là không có kiểm tra đầu ra tối thiểu. Nếu hacker không thao túng tỷ giá quá mạnh, giao dịch vẫn thành công. Một patch đơn giản: thêm Oracle giá từ bên ngoài (ví dụ Chainlink) hoặc ít nhất là áp dụng giới hạn trượt giá cứng dựa trên tỷ lệ thanh khoản pool. Tuy nhiên, việc thêm Oracle có thể làm tăng độ phức tạp và phí gas, mâu thuẫn với mục tiêu “quick” của Quick Swap.
Allbridge đã tạm dừng bridge, nhưng câu hỏi lớn hơn: liệu mô hình bridge dạng liquidity pool có an toàn? Sau hàng loạt vụ hack (Wormhole, Nomad, Multichain), có vẻ như bridge là kẻ thù số một của DeFi. Nhưng thay vì đổ lỗi cho công nghệ, chúng ta cần nhìn vào các giả định kinh tế: bridge không thể an toàn nếu thanh khoản mỏng và không có cơ chế chống thao túng giá. Allbridge chỉ là một ví dụ. Nếu xu hướng thị trường đi ngang tiếp diễn, các bridge nhỏ sẽ tiếp tục bị săn lùng bởi những kẻ săn mồi có vốn lớn và hiểu biết kỹ thuật. Hãy chuẩn bị cho làn sóng tiếp theo.