Giao thức Truebit Bị Khai Thác 8.535,36 ETH Do Lỗ Hổng Tràn Số Nguyên

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

expand icon
Tin tức về ETH: Giao thức Truebit bị tấn công vào ngày 8 tháng 1 năm 2026, với 8.535,36 ETH (khoảng 26,44 triệu USD) bị đánh cắp. Cuộc tấn công khai thác một lỗi tràn số nguyên (integer overflow) trong Solidity ^0,6,10, cụ thể là trong hàm getPurchasePrice. Nhóm ExVul Security xác nhận rằng người tấn công đã sử dụng một vòng lặp giao dịch bốn lần để phát hành và đốt cháy token TRU, rút ETH khỏi giao thức. Sự việc này cho thấy rủi ro khi sử dụng hợp đồng thông minh cũ kỹ. Cập nhật về ETH: Các công cụ AI ngày càng được sử dụng để phát hiện lỗ hổng trong các dự án DeFi cũ.
Tiêu đề gốc: "Phân tích lỗ hổng hợp đồng bị đánh cắp 26,44 triệu USD của giao thức Truebit"
Nguồn gốc văn bản: ExVul Security


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 đồng TRU bị tiêu hủy, thu được 5105,06 đồng 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, do đó chắc chắn 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, do đó 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 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ũ 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 thực hiện 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ể.


Bài viết này là bài viết do độc giả gửi về, không đại diện cho quan điểm của BlockBeats.


Nhấp để biết thêm về các vị trí tuyển dụng của BlockBeats


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm đăng ký Telegram:https://t.me/theblockbeats

Nhóm trao đổi Telegram:https://t.me/BlockBeats_App

Tài khoản chính thức của Twitter:https://twitter.com/BlockBeatsAsia

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.