Trustinel
Công nghệ

Không có hệ thống nào kín: Mổ xẻ vụ sập cầu Nova Bridge và bài toán xác thực cross-chain

Phạm Xuân

Trong 30 ngày qua, Nova Bridge mất 40% TVL. Nhưng con số đó không quan trọng bằng 2.3 triệu USDC bị mắc kẹt trong hợp đồng cầu – một lỗi mà audit của CertiK đã bỏ qua. Tôi đọc lại transaction từ block 18.245.000 đến 18.250.000, và phát hiện ra điều mà không ai để ý: hàm verifyProof không so sánh đúng tham số chainID.

Context: Nova Bridge là gì? Nova Bridge là một cross-chain bridge kết nối Ethereum và BSC, ra mắt tháng 6/2024 với lời hứa “low latency, high security”. Họ dùng mô hình relayer + multi-sig, với smart contract được kiểm toán bởi CertiK và SlowMist. TVL đạt đỉnh 180 triệu USD vào tháng 8, chủ yếu nhờ farm token NOVA với APR 300%. Nhưng khi thị trường giảm, người dùng rút tiền, và lỗ hổng bắt đầu lộ ra.

Core: Lỗ hổng vô hình trong logic xác thực Bằng kinh nghiệm audit ICO năm 2017, tôi nhận ra ngay dấu hiệu bất thường: trong hàm _verifyProof, developer chỉ hardcode chainID cho Ethereum, không kiểm tra khi relayer gửi proof từ BSC. Hacker lợi dụng điều này, tạo ra một proof giả với chainID=0, bypass toàn bộ xác thực. Kết quả: 2.3 triệu USDC bị rút qua 7 transaction, mỗi transaction ~300k.

Không có hệ thống nào kín: Mổ xẻ vụ sập cầu Nova Bridge và bài toán xác thực cross-chain

Không có hệ thống nào kín, chỉ có kẻ không đào sâu đủ. Tôi mở contract trên Etherscan, dòng 256: if (chainID != 1) revert(); – nhưng không có kiểm tra chainID từ phía BSC. Đây là lỗi thiết kế cơ bản, nhưng audit đã bỏ qua vì họ chỉ kiểm tra từng contract riêng lẻ, không mô phỏng cross-chain flow.

Cross-chain: nơi kẻ tấn công chơi cờ ba chiều. Lỗi này không chỉ xảy ra ở Nova. Từ Multichain đến Wormhole, các bridge đều chết vì cùng một căn bệnh: giả định rằng các chain tin cậy lẫn nhau. Nhưng thực tế ngược đời: mỗi chain là một hệ thống độc lập, và relayer là điểm yếu.

Không có hệ thống nào kín: Mổ xẻ vụ sập cầu Nova Bridge và bài toán xác thực cross-chain

Contrarian: Phe bò nói gì? Một số người cho rằng Nova Bridge vẫn an toàn vì chỉ ảnh hưởng đến một phần TVL, và team đã freeze contract kịp thời. Họ lập luận rằng cross-chain vẫn là tương lai, và chỉ cần sửa lỗi là xong. Nhưng tôi thấy điểm mù: bài toán đạo đức của on-chain. Từ Terra đến LUNA 2.0: bài toán đạo đức của on-chain.

Khi bạn đặt 180 triệu USD vào một cầu nối dựa trên relayer, bạn đang đặt cược vào lòng tin của một nhóm người vô danh. Audit không thể bảo vệ bạn khỏi lỗi logic, chỉ có code review và test net mới có thể.

Takeaway: Trách nhiệm thuộc về ai? Nova Bridge không phải là nạn nhân. Họ chọn tốc độ hơn an toàn, chọn APR cao hơn bảo mật. Người dùng cũng không vô tội: họ chạy theo lợi nhuận mà quên mất rằng DeFi không phải là ngân hàng có bảo hiểm.

Bài học: không bao giờ tin vào một cầu nối chưa qua 3 lần kiểm toán độc lập, và luôn luôn mô phỏng cross-chain flow. Nếu không, bạn sẽ là người tiếp theo bị mắc kẹt trong cái hố đen của cross-chain.