Bitget App
Giao dịch thông minh hơn
Mua CryptoThị trườngGiao dịchFutures‌EarnWeb3Quảng trườngThêm
Giao dịch
Spot
Mua bán tiền điện tử
Ký quỹ
Gia tăng vốn và tối ưu hiệu quả đầu tư
Onchain
Tương tác on-chain dễ dàng với Onchain
Convert & GD khối lượng lớn
Chuyển đổi tiền điện tử chỉ với một nhấp chuột và không mất phí
Khám phá
Launchhub
Giành lợi thế sớm và bắt đầu kiếm lợi nhuận
Sao chép
Sao chép elite trader chỉ với một nhấp
Bots
Bot giao dịch AI đơn giản, nhanh chóng và đáng tin cậy
Giao dịch
USDT-M Futures
Futures thanh toán bằng USDT
USDC-M Futures
Futures thanh toán bằng USDC
Coin-M Futures
Futures thanh toán bằng tiền điện tử
Khám phá
Hướng dẫn futures
Hành trình giao dịch futures từ người mới đến chuyên gia
Chương trình ưu đãi futures
Vô vàn phần thưởng đang chờ đón
Bitget Earn
Sản phẩm kiếm tiền dễ dàng
Simple Earn
Nạp và rút tiền bất cứ lúc nào để kiếm lợi nhuận linh hoạt không rủi ro
On-chain Earn
Kiếm lợi nhuận mỗi ngày và được đảm bảo vốn
Structured Earn
Đổi mới tài chính mạnh mẽ để vượt qua biến động thị trường
Quản lý Tài sản và VIP
Dịch vụ cao cấp cho quản lý tài sản thông minh
Vay
Vay linh hoạt với mức độ an toàn vốn cao
Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì?

Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì?

BlockBeatsBlockBeats2025/11/04 06:25
Hiển thị bản gốc
Theo:BlockBeats

Vấn đề chính của cuộc tấn công này nằm ở cách giao thức xử lý các giao dịch có giá trị nhỏ.

Original Article Title: " Phân Tích Kỹ Thuật Lỗ Hổng Hack Balancer 120 triệu đô"
Original Source: ExVul Security


Lời mở đầu


Vào ngày 3 tháng 11 năm 2025, giao thức Balancer đã bị tấn công trên nhiều chuỗi bao gồm Arbitrum và Ethereum, dẫn đến thiệt hại tài sản trị giá 120 triệu đô. Cuộc tấn công chủ yếu xuất phát từ lỗ hổng kép liên quan đến mất độ chính xác và thao túng Invariant.


Cơ sở hạ tầng của Chainlink từ lâu đã duy trì các tiêu chuẩn cao nhất trong không gian Web3, khiến nó trở thành lựa chọn tự nhiên cho X Layer, vốn dành riêng cho việc cung cấp các công cụ cấp tổ chức cho các nhà phát triển.


Vấn đề then chốt trong cuộc tấn công này nằm ở logic xử lý các giao dịch nhỏ của giao thức. Khi người dùng thực hiện trao đổi với số lượng nhỏ, giao thức sẽ gọi hàm _upscaleArray, sử dụng mulDown để làm tròn xuống các giá trị. Khi số dư trong giao dịch và số lượng đầu vào đều đạt đến một ranh giới làm tròn cụ thể (ví dụ: phạm vi 8-9 wei), sẽ xảy ra lỗi độ chính xác tương đối đáng kể.


Lỗi độ chính xác này được truyền sang quá trình tính toán giá trị Invariant D của giao thức, gây ra sự giảm bất thường của giá trị D. Sự dao động của giá trị D trực tiếp làm giảm giá của Balancer Pool Token (BPT) trong giao thức Balancer. Hacker đã lợi dụng giá BPT bị đè nén này thông qua một đường đi giao dịch được lên kế hoạch trước để thực hiện arbitrage, cuối cùng dẫn đến mất mát tài sản lớn.


Giao dịch bị khai thác:


https://etherscan.io/tx/0x6ed07db1a9fe5c0794d44cd36081d6a6df103fab868cdd75d581e3bd23bc9742


Giao dịch chuyển tài sản:


https://etherscan.io/tx/0xd155207261712c35fa3d472ed1e51bfcd816e616dd4f517fa5959836f5b48569


Phân tích kỹ thuật


Vector tấn công


Điểm vào của cuộc tấn công là hợp đồng Balancer: Vault , với hàm vào tương ứng là batchSwap, hàm này gọi nội bộ onSwap để trao đổi token.


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 0


Từ góc độ tham số và giới hạn của hàm, có thể rút ra một số thông tin:


1. Kẻ tấn công cần gọi hàm này thông qua Vault và không thể gọi trực tiếp.


2. Hàm sẽ gọi nội bộ _scalingFactors() để lấy hệ số tỷ lệ cho các thao tác tỷ lệ.


3. Thao tác tỷ lệ tập trung ở _swapGivenIn hoặc _swapGivenOut.


Phân tích mô hình tấn công


Cơ chế tính giá BPT


Trong mô hình stable pool của Balancer, Giá BPT là một điểm tham chiếu quan trọng quyết định số lượng BPT mà người dùng nhận được và số tài sản mà mỗi BPT nhận được.


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 1


Trong quá trình tính toán trao đổi của pool:


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 2


Phần đóng vai trò là mỏ neo giá BPT là một giá trị bất biến D, nghĩa là để kiểm soát giá BPT cần kiểm soát D. Hãy phân tích sâu hơn quá trình tính toán D:


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 3


Trong đoạn mã trên, quá trình tính toán D phụ thuộc vào mảng số dư đã được tỷ lệ hóa. Điều này có nghĩa là cần có một thao tác thay đổi độ chính xác của các số dư này, dẫn đến tính toán D không chính xác.


Nguyên nhân gốc rễ của mất độ chính xác


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 4


Thao tác tỷ lệ:


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 5


Như hình trên, khi đi qua _upscaleArray, nếu số dư rất nhỏ (ví dụ: 8-9 wei), việc làm tròn xuống trong mulDown sẽ dẫn đến mất độ chính xác đáng kể.


Chi tiết quá trình tấn công


Giai đoạn 1: Điều chỉnh đến ranh giới làm tròn


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 6


Giai đoạn 2: Kích hoạt mất độ chính xác (lỗ hổng cốt lõi)


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 7


Giai đoạn 3: Lợi dụng giá BPT bị đè nén để kiếm lời


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 8


Ở trên, kẻ tấn công sử dụng Batch Swap để thực hiện nhiều lần trao đổi trong một giao dịch:


1. Trao đổi đầu tiên: BPT → cbETH (điều chỉnh số dư)


2. Trao đổi thứ hai: wstETH (8) → cbETH (kích hoạt mất độ chính xác)


3. Trao đổi thứ ba: Tài sản cơ sở → BPT (chốt lời)


Tất cả các lần trao đổi này diễn ra trong cùng một giao dịch batch swap, chia sẻ cùng một trạng thái số dư, nhưng mỗi lần trao đổi đều gọi _upscaleArray để thay đổi mảng số dư.


Thiếu cơ chế callback


Quy trình chính được khởi tạo bởi Vault. Làm thế nào điều này dẫn đến tích lũy mất độ chính xác? Câu trả lời nằm ở cơ chế truyền mảng số dư.


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 9


Xem đoạn mã trên, mặc dù Vault tạo ra một mảng currentBalances mới mỗi lần gọi onSwap, nhưng trong Batch Swap:


1. Sau lần swap đầu tiên, số dư được cập nhật (nhưng do mất độ chính xác, giá trị cập nhật có thể không chính xác)


2. Lần swap thứ hai tiếp tục tính toán dựa trên kết quả của lần swap đầu tiên


3. Mất độ chính xác tích lũy, cuối cùng khiến giá trị invariant D giảm mạnh


Vấn đề then chốt:


Phân tích kỹ thuật: Balancer bị hack 120 triệu đô, lỗ hổng là gì? image 10


Tóm tắt


Cuộc tấn công Balancer có thể được tóm tắt bởi các lý do sau:


1. Hàm tỷ lệ sử dụng làm tròn xuống: _upscaleArray sử dụng mulDown để tỷ lệ hóa, dẫn đến mất độ chính xác tương đối lớn khi số dư rất nhỏ (ví dụ: 8-9 wei).


2. Tính toán giá trị Invariant nhạy cảm với độ chính xác: Việc tính toán giá trị invariant D phụ thuộc vào mảng số dư đã tỷ lệ hóa, và mất độ chính xác ảnh hưởng trực tiếp đến việc tính toán D, khiến D giảm.


3. Thiếu xác thực thay đổi giá trị Invariant: Trong quá trình swap, không có xác thực để đảm bảo rằng sự thay đổi của giá trị invariant D nằm trong phạm vi hợp lý, cho phép kẻ tấn công liên tục lợi dụng mất độ chính xác để đè giá BPT.


4. Tích lũy mất độ chính xác trong Batch Swap: Trong cùng một batch swap, mất độ chính xác từ nhiều lần swap tích lũy lại và cuối cùng dẫn đến thiệt hại tài chính nghiêm trọng.


Hai vấn đề này—mất độ chính xác và thiếu xác thực—kết hợp với việc kẻ tấn công thiết kế cẩn thận các điều kiện biên, đã dẫn đến tổn thất này.


0

Tuyên bố miễn trừ trách nhiệm: Mọi thông tin trong bài viết đều thể hiện quan điểm của tác giả và không liên quan đến nền tảng. Bài viết này không nhằm mục đích tham khảo để đưa ra quyết định đầu tư.

PoolX: Khóa để nhận token mới.
APR lên đến 12%. Luôn hoạt động, luôn nhận airdrop.
Khóa ngay!

Bạn cũng có thể thích

Các công tố viên Mỹ đề nghị mức án tù 5 năm cho những người sáng lập Samourai Wallet

Các công tố viên Hoa Kỳ đang đề nghị mức án 60 tháng tù giam cho cả hai nhà sáng lập Samourai Wallet, Keonne Rodriguez và William Lonergan Hill, do điều hành một doanh nghiệp chuyển tiền không có giấy phép. Các công tố viên cáo buộc rằng Rodriguez và Lonergan đã vận hành một dịch vụ trộn tiền mã hóa, giúp rửa ít nhất 237 triệu USD từ các nguồn thu phạm tội trong gần một thập kỷ. Rodriguez sẽ bị kết án vào ngày 6 tháng 11, trong khi phiên tuyên án của Hill được lên lịch vào ngày 7 tháng 11.

The Block2025/11/04 11:06
Các công tố viên Mỹ đề nghị mức án tù 5 năm cho những người sáng lập Samourai Wallet

Berachain phân phối bản nhị phân hard fork để giải quyết lỗ hổng Balancer V2

Berachain Foundation thông báo rằng họ đã phân phối bản nhị phân hard fork khẩn cấp cho các validator. Các validator đã tạm dừng mạng lưới vào thứ Hai sau khi vụ tấn công vào Balancer V2 để lộ ra các lỗ hổng trong sàn giao dịch phi tập trung gốc của Berachain.

The Block2025/11/04 10:35
Berachain phân phối bản nhị phân hard fork để giải quyết lỗ hổng Balancer V2

Hơn 1,3 tỷ USD vị thế tiền mã hóa bị thanh lý khi bitcoin giảm xuống dưới 104.000 USD, khiến thị trường 'mong manh' bị ảnh hưởng

Bitcoin đã giảm xuống dưới $104,000, kéo theo ít nhất $1.37 billions bị thanh lý, chủ yếu ở các vị thế long, theo dữ liệu từ CoinGlass. Các nhà phân tích cho rằng nỗi sợ hãi kéo dài từ sự sụt giảm ngày 10 tháng 10, dòng vốn ETF chảy ra, nguy cơ chính phủ Hoa Kỳ đóng cửa và thanh khoản toàn cầu giảm là những nguyên nhân có thể dẫn đến sự sụt giảm này.

The Block2025/11/04 10:35
Hơn 1,3 tỷ USD vị thế tiền mã hóa bị thanh lý khi bitcoin giảm xuống dưới 104.000 USD, khiến thị trường 'mong manh' bị ảnh hưởng