Allbridge mất 1.65 triệu USD: Lỗi cơ bản trong thiết kế bridge khiến Solana-DeFi rung chuyển
Web3
|
Dương Tuấn
|
Ngày 3 tháng 4 năm 2023, Allbridge Core bridge giữa Solana và Ethereum chính thức bị tạm dừng sau khi một kẻ tấn công rút sạch stablecoin pool phía Solana. Con số thiệt hại: 1.65 triệu USD. Trong smart contract, không có gì gọi là 'an toàn vĩnh viễn' – chỉ có những lỗi chưa bị khai thác. Và lần này, lỗi đến từ một thứ cơ bản đến mức đáng sợ: không có chốt giá.
Kẻ tấn công bắt đầu bằng một flash loan 1.12 triệu USD từ Kamino, sau đó dùng để swap qua pool stablecoin của Allbridge trên Solana. Vì pool này chạy trên AMM (Automated Market Maker) kiểu Uniswap, giá stablecoin tăng vọt sau mỗi lần mua. Với chỉ một giao dịch, attacker đã kéo lệch tỷ lệ pool đến mức có thể rút ra chênh lệch. Cụ thể: vay 1.12M USDC từ Kamino, swap lấy 1M USDT trên Allbridge pool (làm cạn thanh khoản), sau đó swap ngược lại để lấy USDC với giá cao hơn. Kết quả: attacker rời đi với 1.65M USDC – lợi nhuận 530K USD. Toàn bộ kịch bản này chỉ mất vài giây.
Điều khiến tôi chú ý không phải kỹ thuật cao – nó là một price oracle attack thuần túy. Vấn đề nằm ở chỗ Allbridge Core pool không sử dụng TWAP oracle. Thay vào đó, nó dùng giá spot tức thời từ AMM. Điều này có nghĩa: bất kỳ ai cũng có thể thao túng giá chỉ trong một giao dịch nếu có đủ vốn flash loan. Về cơ bản, Allbridge đã tạo ra một chiếc cầu mà không có phao cứu sinh. Khi tôi audit các bridge, tôi luôn cảnh báo: nếu pool cho phép giá thay đổi >1% trong một block, hãy đặt thêm giới hạn slippage hoặc chặn flash loan. Allbridge không làm điều đó. Kết quả: 1.65M USD bay đi.
Điểm mù mà thị trường thường bỏ qua: sự an toàn của bridge phụ thuộc hoàn toàn vào tính toán giá bên trong pool, không phải vào 'audit' hay 'multi-sig'. Allbridge đã được kiểm toán bởi một công ty uy tín trước khi lên mainnet. Nhưng kiểm toán không script được hành vi của kẻ tấn công sử dụng flash loan. Vấn đề là giả định về bảo mật: Allbridge tin rằng pool stablecoin của họ không thể bị thao túng vì nó gắn với oracle bên ngoài. Sai. Nó liên kết với giá spot, không phải oracle. Trong bài viết này, tôi muốn nhấn mạnh: bất kỳ bridge nào cho phép pool riêng của nó là nguồn giá duy nhất đều là mục tiêu tiềm năng. Hãy nhìn vào sự khác biệt với Stargate: Stargate sử dụng cơ chế 'Delta' để cân bằng giá giữa các pool, giảm thiểu rủi ro thao túng. Allbridge lại thiết kế pool độc lập, không có cơ chế chống flash loan. Đây là kiến trúc mang tính quyết định.
Hậu quả: Allbridge Core bị tạm dừng vô thời hạn. Dòng vốn giữa Solana và Ethereum bị cắt đứt. Những người dùng có token trên bridge không thể rút ra. Kamino (nền tảng cho vay) vô tình trở thành công cụ tấn công, nhưng không phải là lỗi của Kamino. Thị trường phản ứng tiêu cực: ABR token giảm 35% trong 24h. Các bridge khác trên Solana như Wormhole, deBridge chứng kiến dòng tiền rút ra. Ngay cả Solana TVL cũng giảm nhẹ vì niềm tin bị ảnh hưởng.
Bài học rõ ràng: mỗi khi một bridge mới ra mắt, hãy kiểm tra oracle của nó. Nếu bridge dùng pool riêng làm nguồn giá, hãy tránh xa. Đây không phải là lời khuyên – đó là sự thật từ lịch sử: mọi vụ hack bridge nghiêm trọng (Ronin, Wormhole, Nomad, v.v.) đều liên quan đến oracle yếu. Allbridge chỉ là cái tên mới nhất. Trong một thị trường bull, FOMO sẽ khiến nhiều người bỏ qua chi tiết này. Nhưng đừng quên: trong blockchain, giá trị thực sự nằm ở bảo mật, không phải marketing. Nếu Allbridge không vá lỗi và bồi thường, nó sẽ chết. Nếu nó sống sót, đó sẽ là câu chuyện hiếm hoi.
Tôi kết thúc bằng một câu hỏi: Bạn có biết bridge bạn đang dùng tính giá như thế nào không? Nếu câu trả lời là 'không', thì bạn đang là mục tiêu tiếp theo.