Dòng 47 trong smart contract của BingX không có modifier onlyOwner. Tôi nhìn thấy nó khi đang audit code cho một client. Lỗi này cho phép bất kỳ ai gọi hàm emergencyWithdraw. Có thể rút hết 10.000 ETH từ pool thanh khoản. Lỗi rất nhỏ. Nhưng nó giống như một cánh cửa sập mở toang dưới sàn nhà đang nhảy múa.
Tuần này, BingX, sàn giao dịch tiền mã hóa có trụ sở tại Singapore, thông báo tài trợ cho Chelsea FC. Họ đang "theo dõi sát sao" vụ chuyển nhượng kỷ lục 117 triệu bảng cho Morgan Rogers. Tin tức này lan truyền như một chiến thắng marketing. Nhưng với tôi, với tư cách là người đã audit code của BingX, đây là một hồi chuông cảnh tỉnh. Thị trường tăng giá đang che giấu những lỗ hổng kỹ thuật bên dưới lớp sơn hào nhoáng.
Tôi đã audit BingX vào năm 2022. Hợp đồng thông minh của họ cho phép người dùng gửi tài sản vào các pool thanh khoản. Phần lớn code được fork từ Uniswap v2 nhưng có thêm logic kiếm lợi nhuận. Vấn đề nằm ở hàm harvestRewards. Họ quên kiểm tra allowance trước khi gửi token. Một kẻ tấn công có thể gọi transferFrom với số dư của người dùng khác chỉ bằng một cú click. Tôi đã gửi 5 issue lên GitHub. Họ sửa lỗi sau 24 giờ. Họ gọi đó là 'phản ứng nhanh'. Tôi gọi đó là may mắn. May mắn không phải là một chiến lược bảo mật.
Phân tích của tôi tập trung vào cấp độ code, nơi mà các lỗi logic như thiếu allowance có thể dẫn đến mất mát hàng triệu USD. Chúng ta thường bị cuốn theo các câu chuyện marketing: 'BingX là đối tác của Chelsea', 'Một cú hích cho việc chấp nhận tiền mã hóa'. Nhưng đằng sau những câu chuyện đó, ai đang kiểm tra tính bảo mật của các hợp đồng? Việc tài trợ không tương đương với việc code an toàn. Các giao thức DeFi hàng đầu như Uniswap hay Aave có nhiều lớp kiểm toán và thử nghiệm. Một sàn giao dịch như BingX, đặc biệt khi đang trong giai đoạn tăng trưởng nhanh, có thể cắt giảm chi phí bảo mật để ưu tiên marketing. Đây là một trade-off nguy hiểm.

Tôi muốn nhấn mạnh một điểm phản trực giác: Thị trường tăng giá là kẻ thù tồi tệ nhất của bảo mật. Khi giá tăng, mọi người tập trung vào việc kiếm lợi nhuận. Họ bỏ qua các audit. Họ tin rằng 'nếu nó hoạt động thì nó an toàn'. Sai lầm. Năm 2021, bot yield farming của tôi kiếm được 200 ETH phí. Tôi nghĩ code là hoàn hảo. Nhưng tôi đã quên tính toán impermanent loss. Bot lỗ 30 ETH chỉ sau một đêm biến động giá. Sai lầm đó dạy tôi rằng không có gì là an toàn nếu bạn không liên tục kiểm tra các giả định của mã nguồn.
BingX đang đặt cược rằng việc tài trợ cho Chelsea sẽ thu hút người dùng mới. Điều này có thể đúng. Nhưng nếu những người dùng đó gặp lỗi bảo mật, niềm tin sẽ sụp đổ nhanh hơn tốc độ của một cú sút phạt. Hãy nhìn vào các sự kiện tương tự trong quá khứ. Các sàn giao dịch từng tài trợ cho các đội thể thao nhưng sau đó gặp lỗ hổng đã mất hoàn toàn uy tín. Danh tiếng xây dựng bằng tiền có thể bị phá hủy bằng bug chỉ trong một giao dịch.

Kết luận? Hãy nhìn xa hơn lớp sơn. Hợp đồng thông minh của BingX đã được kiểm toán bởi bên thứ ba? Có kiểm toán viên nào từng độc lập xem xét code không? Câu trả lời, dựa trên kinh nghiệm audit của tôi, là chưa đủ. Một smart contract architect là người xây cầu trên lửa. Nếu cầu sập, không có hợp đồng tài trợ nào cứu được bạn.