BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Một lỗ hổng tính toán đã khiến Truebit bị đánh cắp 8535 ETH

Đọc bài viết này mất 8 phút
Giao thức Truebit đã bị tấn công do lỗ hổng tràn số nguyên trong tính toán giá mua token, kẻ tấn công đã lợi dụng cơ chế gọi hàm lặp đi lặp lại để thực hiện giao dịch sở cấp, cuối cùng gây thiệt hại hơn 8500 ETH.
原文标题:《Truebit Protocol bị Đánh Cắp 26,44 Triệu USD - Phân Tích Lỗ Hổng Hợp Đồng》
原文来源:ExVul Security


Vào ngày 8 tháng 1 năm 2026, Truebit Protocol đã bị tấn công mạng, thiệt hại là 8,535.36 ETH (khoảng 26,44 triệu USD), ngay sau đó vào sáng hôm sau, Truebit Protocol chính thức đã phát biểu. Nhóm an ninh ExVul đã tiến hành phân tích chi tiết về sự kiện tấn công này, kết quả phân tích như sau:


Quá Trình Tấn Công


Địa chỉ của Kẻ tấn công:


0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50


Băm của Giao dịch tấn công:


0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014


Kẻ tấn công đã hoàn tất cuộc tấn công thông qua việc gọi lặp lại 4 vòng từ getPurchasePrice → 0xa0296215 → 0xc471b10b, dưới đây là phân tích ví dụ cho vòng lặp đầu tiên.


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


2. Kẻ tấn công gọi hàm 0xa0296215(c6e3ae8e2cbab1298abaa3), đồng thời msg.value bằng 0. Cuối cùng, thành công tạo ra 240442509453545333947284131 token TRU.



3. Kẻ tấn công gọi hàm 0xc471b10b(c6e3ae8e2cbab1298abaa3). Cuối cùng, hủy bỏ 240442509453545333947284131 token TRU và nhận được 5105.06 token ETH.


Phân Tích Logic Tấn Công


Thông qua việc hiểu rõ quá trình tấn công trên, có thể dễ dàng nhận thấy rằng hai hàm getPurchasePrice và 0xa0296215 đã gặp vấn đề về logic. Dưới đây là phân tích chi tiết (do vì hợp đồng không được công bố mã nguồn, mã dưới đây là mã đã được giải mã).



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



Thông qua việc quan sát logic trong hàm 0x1446, vì kết quả tính toán cuối cùng v13  == 0, nên nhất định là có vấn đề trong logic tính toán ở phía trước. Cần nhấn mạnh rằng chức năng 0x18ef tương đương với _SafeMul, do đó vấn đề xuất phát từ việc sử dụng phép cộng cơ bản 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 đại diện cho:



Thông qua phân tích trên, cách tiếp cận của kẻ tấn công là thông qua việc nhập một _amountIn lớn, khiến cho v12 + v9 tràn số thành một giá trị rất nhỏ, cuối cùng dẫn đến (v12 + v9) / v6 == 0.


Tổng kết


Sự kiện tấn công vào Truebit Protocol lần này có nguyên nhân cơ bản là do logic tính giá mua token của nó chứa một lỗ hổng nghiêm trọng về tràn số nguyên. Bởi vì hợp đồng sử dụng phiên bản Solidity ^0.6.10 và không thực hiện kiểm tra an toàn cho các phép toán số học quan trọng, cuối cùng đã gây ra mất mát lớn là 8,535.36 ETH. Hiện tại, phiên bản mới của Solidity đã giảm nhẹ lỗ hổng tràn số. Sự kiện tấn công này có lẽ là do hacker sử dụng trí tuệ nhân tạo để quét tự động các lỗ hổng trong các giao thức DeFi cũ đã triển khai (bao gồm cả cuộc tấn công vào Balancer và yETH gần đây), chúng tôi tin rằng các sự kiện tấn công như vậy vào các giao thức DeFi cũ sẽ trở nên phổ biến hơn trong tương lai gần, do đó chúng tôi khuyên các dự án nên kiểm tra mã hợp đồng của mình một cách an toàn, nếu phát hiện lỗ hổng, hãy nâng cấp hợp đồng hoặc chuyển tài sản ngay lập tức, và thực hiện theo dõi trên chuỗi, phát hiện sớm các biến cố bất thường, để giảm thiểu thiệt hại.


Bài viết được đăng theo yêu cầu, không diễn đạt quan điểm của BlockBeats.


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

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

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

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

Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi