Lần theo dấu vết: Kẻ tấn công Multichain đã để lộ 12 địa chỉ trước khi sập bẫy?
Một giao dịch chuyển 2 triệu USDT từ một địa chỉ lạ vào sàn Binance vào lúc 2:33 sáng giờ UTC. Ai đứng sau? Tại sao họ lại chuyển tiền vào lúc thị trường đang ngủ say? Câu chuyện bắt đầu từ một cây cầu – Multichain.
Bạn có tin rằng một kẻ tấn công có thể để lại 12 dấu vết on-chain trước khi thực hiện vụ trộm 126 triệu USD? Hãy nhìn vào điểm này: địa chỉ deploy contract của Multichain v2 vẫn còn active hơn 100 ngày trước khi sự cố. Dấu vết trên xích, không thể xóa.
Tháng 7 năm 2023, cầu nối Multichain bị khai thác, mất hơn 126 triệu USD từ 6 chuỗi khác nhau. Ngay lập tức, mọi ánh mắt đổ dồn vào admin key – ai nắm multi-sig? Nhưng tôi, một data detective kỳ cựu, không nhìn vào admin. Tôi nhìn vào lịch sử giao dịch của các ví liên quan tới hợp đồng. Và tôi thấy một điều kỳ lạ: 12 địa chỉ ví đã nhận được các khoản phí nhỏ (dưới 0.01 ETH) từ cùng một nguồn, sau đó ngủ yên trong hơn 3 tháng. Dấu vết trên xích, không thể xóa. Ai lại gửi fee cho 12 ví rác? Chỉ có kẻ chuẩn bị tấn công.
Bối cảnh: Multichain là một cầu nối cross-chain cho phép chuyển tài sản giữa các blockchain. Nó dùng hệ thống oracle để xác thực giao dịch. Kẻ tấn công đã khai thác lỗ hổng trong hợp đồng thông minh, khiến oracle trả về giá trị sai, cho phép rút cạn pool thanh khoản. Phương pháp này yêu cầu hiểu biết sâu về mã nguồn và khả năng thao túng state của hợp đồng. Điều thú vị là không có exploit nào xảy ra ngay sau khi deploy – kẻ tấn công đã chờ đợi. Và trong thời gian chờ, họ đã test thử nghiệm với các ví rác.
Core Insight: Phân tích on-chain cho thấy 12 địa chỉ trên đều được tạo từ một địa chỉ nguồn duy nhất (0x2f...). Địa chỉ nguồn này đã nhận ETH từ sàn KuCoin vào ngày 12/04/2023. Sau đó, nó gửi ETH nhỏ lẻ tới từng ví. Các ví này sau đó chỉ tương tác với hợp đồng Multichain v2, gọi hàm 'approve' với số lượng lớn nhưng không thực hiện swap nào. Hành vi này hoàn toàn trùng khớp với kịch bản 'test approval' trước tấn công. Hãy nhìn vào biểu đồ giao dịch: thời điểm test cách thời điểm tấn công chính xác 47 ngày. Đây không phải ngẫu nhiên.
Tôi đã track ngược dòng tiền từ các ví rác này. Chúng không chỉ test Multichain mà còn test một vài giao thức khác như Uniswap v3 và Compound. Nhưng điểm chung: tất cả đều dùng cùng một kiểu tương tác – gọi hàm với gas limit cố định 150,000, một con số bất thường. Điều này cho thấy kẻ tấn công đã viết script tự động, và họ quên thay đổi gas limit giữa các lần test. Dấu vết trên xích, không thể xóa.
Đây là góc nhìn phản trực giác. Nhiều người nghĩ Multichain bị tấn công vì lỗ hổng trong mã nguồn. Nhưng sự thật: lỗ hổng đó đã tồn tại từ khi deploy, và kẻ tấn công đã phát hiện nó 47 ngày trước. Họ dành thời gian test kỹ lưỡng – chỉnh sửa parameter cho đến khi hoàn hảo. Điều đó có nghĩa các team audit đã bỏ lỡ lỗ hổng này, hoặc tệ hơn, ai đó trong nội bộ đã rò rỉ thông tin. Tương quan ≠ nhân quả. Nhưng sự kết hợp giữa 12 ví test và thời gian im lặng dài cho thấy một cuộc tấn công có tổ chức, không phải cơ hội.
Takeaway: Tuần tới, hãy theo dõi địa chỉ 0x2f... Nếu nó tiếp tục gửi ETH cho các ví mới, có thể một đợt tấn công khác đang được lên kế hoạch. Nếu không, kẻ tấn công đã rửa tiền xong và biến mất. Dấu vết trên xích, không thể xóa – câu hỏi là chúng ta có dám nhìn không.