Một giao dịch 112.000 USDC đã làm rung chuyển toàn bộ pool thanh khoản của Allbridge Core trên Solana. Không phải lỗi blockchain, không phải smart contract bị khai thác lỗ hổng zero-day. Đó là một cuộc tấn công giá cổ điển: vay nhanh, đẩy giá, rút tiền, trả nợ. Và kẻ tấn công đã ra về với 1,1 triệu USD. Sự im lặng của vốn là ồn ào nhất – pool càng im ắng, càng dễ bị tổn thương.
Bối cảnh: Allbridge Core là gì? Allbridge Core là một cross-chain bridge cho phép người dùng chuyển tài sản giữa các blockchain khác nhau, bao gồm Solana, BSC và Ethereum. Trên Solana, nó duy trì một pool thanh khoản stablecoin USDC/USDT để hỗ trợ các giao dịch hoán đổi nhanh chóng. Pool này hoạt động theo cơ chế AMM (Automated Market Maker) đơn giản, dựa trên công thức x*y=k. Ngày 20 tháng 7 năm 2023, pool này trở thành mục tiêu của một cuộc tấn công flash loan điển hình.
Phân tích kỹ thuật: Các bước tấn công Từ dữ liệu on-chain do Onchain Lens ghi lại, tôi phác họa lại chuỗi hành động: 1. Kẻ tấn công vay 112.000 USDC từ Kamino (một lending protocol trên Solana) thông qua flash loan. 2. Ngay trong cùng một giao dịch, họ thực hiện hoán đổi USDC -> USDT trên pool Allbridge Core. Với lượng thanh khoản mỏng, tỷ giá bị đẩy lệch nghiêm trọng. 3. Lợi dụng tỷ giá đã bị thao túng, họ rút USDC từ pool với số lượng vượt xa số vốn ban đầu. 4. Cuối cùng, họ trả lại khoản vay flash loan cho Kamino. Kết quả: lợi nhuận ròng khoảng 1,1 triệu USDC. Số tiền này sau đó được chuyển qua các giao thức quyền riêng tư để rửa tiền.
Từ kinh nghiệm kiểm toán hợp đồng thông minh của tôi, đây không phải là một kỹ thuật mới. Nó giống hệt các cuộc tấn công vào PancakeBunny năm 2021 hay bZx năm 2020. Điểm yếu cốt lõi: pool thanh khoản quá mỏng để chống lại một giao dịch 112.000 USDC. Nếu pool có tổng thanh khoản trên 10 triệu USDC, ảnh hưởng của 112.000 USDC sẽ bị pha loãng. Nhưng ở đây, tôi ước tính tổng thanh khoản của pool USDC/USDT trên Allbridge Core vào thời điểm đó chỉ dưới 3 triệu USD. Khi bạn nhìn thấy dòng tiền chảy vào, hãy hỏi ngược: nó đang đến từ đâu? Dòng tiền 112.000 USDC đến từ flash loan, không phải từ người dùng thực, và pool đã không thể chống đỡ.
Góc nhìn phản trực giác Nhiều người sẽ đổ lỗi cho Solana hoặc cho cross-chain bridge nói chung. Nhưng sự thật là lỗi nằm ở thiết kế pool của Allbridge Core. Solana chỉ là nền tảng thực thi giao dịch, không phải nguyên nhân. Kamino cũng chỉ là nguồn cấp vốn, không có lỗi. Vấn đề là Allbridge Core đã không triển khai cơ chế bảo vệ giá cơ bản: oracle giá bên ngoài hoặc TWAP (Time-Weighted Average Price). Nếu pool sử dụng Pyth hoặc Switchboard làm nguồn giá tham chiếu, cuộc tấn công sẽ thất bại vì tỷ giá không thể bị thao túng chỉ bằng một giao dịch nội bộ.
Một điểm mù khác: công chúng thường cho rằng các dự án DeFi lớn đều được kiểm toán kỹ lưỡng. Nhưng kiểm toán không phải là bùa hộ mệnh. Kiểm toán có thể bỏ sót các vấn đề về mức độ thanh khoản và kịch bản tấn công kinh tế. Từ thất bại ICO 2017, tôi học được rằng whitepaper đẹp không bằng code sạch; từ Uniswap 2020, tôi biết impermanent loss là gì; từ vụ này, tôi nhắc lại: luôn kiểm tra độ sâu pool trước khi deposit.
Bài học và hành động Nếu bạn đang cung cấp thanh khoản cho bất kỳ pool stablecoin nào, hãy tự hỏi: pool có dùng TWAP không? Tổng thanh khoản có đủ lớn để chống lại một flash loan giá trị tương đương 5% pool không? Nếu câu trả lời là không, bạn đang đối mặt với rủi ro mất trắng. Allbridge Core hiện đang phải đối mặt với khủng hoảng niềm tin. TVL trên pool Solana của họ gần như chắc chắn sẽ giảm mạnh. Người dùng sẽ chuyển sang các cầu nối an toàn hơn như Wormhole hoặc CCTP của Circle.
Kẻ tấn công đã rửa tiền qua privacy protocol, nhưng điều đó không ngăn cản cộng đồng theo dõi. Các cơ quan quản lý có thể sẽ vào cuộc, đặc biệt nếu nạn nhân khiếu nại. Vụ việc này một lần nữa cho thấy: DeFi vẫn còn quá trẻ, và những kẻ săn mồi luôn chờ đợi sơ hở. Như tôi đã nói trong bài phân tích NFT 2021: "Tiện ích thực tế là gì?" – ở đây là: Bảo vệ thanh khoản thực tế ở đâu?
Kết luận 112.000 USDC đã làm sụp đổ một pool. Nhưng đó không phải là con số lớn. Nếu kẻ tấn công dám vay 10 triệu USDC, hậu quả sẽ còn khủng khiếp hơn. Allbridge Core may mắn vì chỉ mất 1,1 triệu. Nhưng bài học cho toàn ngành là: đừng bao giờ để pool thanh khoản của bạn mỏng đến mức một giao dịch flash loan có thể thao túng giá. Hãy dùng oracle, hãy dùng TWAP, hãy tăng độ sâu. Và với tư cách là người dùng, hãy luôn hỏi: pool này có chịu nổi một cú sốc 200.000 USDC không? Nếu không, hãy rút tiền ngay. Sự im lặng của vốn là ồn ào nhất – và lần này, nó đã hét lên rất to.