Giao thức Truebit Bị Hack 26,44 Triệu USD Do Lỗ Hổng Tràn Số Nguyên

iconOdaily
Chia sẻ
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconBản tóm tắt

expand icon
Giao thức Truebit đã bị khai thác với số tiền 26,44 triệu USD vào ngày 8 tháng 1 năm 2026, do một lỗ hổng tràn số nguyên (integer overflow) trong logic mua token của nó. Kẻ tấn công đã khai thác lỗi trong hàm 0x1446, sử dụng vòng lặp để thao túng các giá trị đầu vào lớn và kích hoạt các phép tính ETH sai lệch. Lỗ hổng này bắt nguồn từ Solidity ^0.6.10, phiên bản thiếu các kiểm tra tràn số. Sự việc này cho thấy rõ nhu cầu cấp thiết cập nhật giao thức và nhấn mạnh tính khẩn cấp trong việc xử lý các thông tin về lỗ hổng trong DeFi. Nhóm an ninh ExVul cảnh báo rằng các cuộc tấn công do AI điều khiển nhắm vào các giao thức lỗi thời có thể gia tăng, kêu gọi các nhóm thực hiện kiểm toán và triển khai giám sát.

Vào ngày 8 tháng 1 năm 2026, giao thức Truebit Protocol đã bị tin tặc tấn công, gây mất 8.535,36 ETH (khoảng 26,44 triệu USD). Vào sáng hôm sau, nhóm Truebit Protocol chính thức đăng bài xác nhận sự việc. Nhóm an ninh ExVul đã tiến hành phân tích chi tiết lỗ hổng trong vụ tấn công này, kết quả phân tích như sau:

Quy trình tấn công

Địa chỉ của người tấn công:

0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50

Mã băm giao dịch tấn công:

0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

Người tấn công hoàn tất cuộc tấn công bằng cách thực hiện giao dịch gọi lặp lại 4 vòng theo chuỗi getPurchasePrice→0xa0296215→0xc471b10b. Dưới đây là phân tích lấy ví dụ từ vòng lặp đầu tiên.

1. Người tấn công trước tiên gọi hàm getPurchasePrice(240442509453545333947284131), trả về 0.

2. Người tấn công gọi hàm 0xa0296215(c6e3ae8e2cbab1298abaa3) với msg.value bằng 0. Cuối cùng, họ đã thành công trong việc đúc 240442509453545333947284131 token TRU.

3. Người tấn công gọi hàm 0xc471b10b(c6e3ae8e2cbab1298abaa3). Cuối cùng, 240442509453545333947284131 token TRU bị tiêu hủy, thu được 5105,06 token ETH.

Phân tích logic tấn công

Thông qua việc hiểu được quy trình tấn công trên, có thể dễ dàng nhận thấy rằng hàm getPurchasePrice và logic của hàm 0xa0296215 tồn tại vấn đề. Dưới đây sẽ bắt đầu phân tích sâu hơn (vì hợp đồng chưa được công khai mã nguồn, nên tất cả các đoạn mã dưới đây đều là mã được phân tích ngược lại).

Bằng cách so sánh các điểm chung của hai hàm, chúng ta có thể phát hiện ra rằng hàm 0x1446 được sử dụng để tính toán số ETH cần thiết để mua một số lượng TRU nhất định. Rõ ràng, hàm 0x1446 có vấn đề về logic, dẫn đến sai sót trong việc tính toán ETH. Dưới đây là phân tích chi tiết về logic trong hàm 0x1446.

Quan sát logic trong hàm 0x1446, vì kết quả cuối cùng là v13 == 0, rõ ràng là có vấn đề trong logic tính toán phía trên. Cần lưu ý rằng chức năng 0x18ef giống hệt với _SafeMul, do đó vấn đề nằm ở việc sử dụng phép cộng nguyên sinh v12 + v9 (phiên bản hợp đồng là ^0.6.10, vì vậy không có kiểm tra tràn số).

v12 và v9 lần lượt biểu thị:

Thông qua phân tích trên, ý tưởng tấn công của người tấn công là thông qua việc nhập vào một giá trị _amountIn rất lớn, khiến cho v12 + v9 tràn thành một giá trị rất nhỏ, cuối cùng khiến (v12 + v9) / v6 == 0.

Tổng kết

Nguyên nhân gốc rễ của sự kiện bị tấn công lần này của giao thức Truebit nằm ở chỗ logic tính toán giá mua token của nó có một lỗ hổng tràn số nguyên nghiêm trọng. Do hợp đồng thông minh sử dụng phiên bản Solidity ^0.6.10 và không thực hiện bất kỳ kiểm tra an toàn nào cho các phép toán số học quan trọng, cuối cùng đã gây ra tổn thất lớn là 8.535,36 ETH. Hiện tại, phiên bản mới của Solidity đã tự bản thân nó giảm bớt được lỗ hổng tràn số. Sự kiện tấn công này có thể là hacker đã sử dụng AI để tự động quét một số giao thức DeFi cũ đã triển khai trước đó, phát hiện ra lỗ hổng (bao gồm cả các vụ tấn công Balancer và yETH trước đây). Chúng tôi cho rằng các sự kiện tấn công sử dụng AI nhằm khai thác các giao thức DeFi cũ này sẽ ngày càng gia tăng trong thời gian gần đây, vì vậy chúng tôi khuyên các dự án nên tiến hành kiểm toán an toàn lại mã hợp đồng, nếu phát hiện lỗ hổng, cần nhanh chóng nâng cấp hợp đồng hoặc chuyển tài sản, đồng thời thực hiện giám sát trên chuỗi, kịp thời phát hiện các bất thường để giảm thiểu thiệt hại xuống mức thấp nhất có thể.

Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này. Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụngTiết lộ rủi ro của chúng tôi.