Khi Hook của Uniswap V4 mở ra cánh cửa cho kẻ tấn công: Bài học từ lỗi reentrancy trong YieldSweep

Dương Quân Chuyên đề

Hook: Một dòng code thừa

Trong 72 giờ qua, một giao thức DeFi mới tên YieldSweep đã mất 340 ETH – tương đương $1.2 triệu – chỉ vì một hook trong Uniswap V4. Tôi đã dành 3 ngày để đọc mã nguồn của chúng, và phát hiện ra điều mà đội ngũ phát triển bỏ qua: họ implement callback afterSwap() với một lời gọi external không được bảo vệ. Kết quả? Một kẻ tấn công đã gọi lại hàm swap() từ trong callback, tạo ra vòng lặp vô hạn rút thanh khoản. EVM không tha thứ cho sự cẩu thả.

Context: Uniswap V4 và "Lego có thể lập trình"

Uniswap V4 giới thiệu khái niệm hook – những contract nhỏ được gọi tại các điểm cụ thể trong lifecycle của swap (beforeSwap, afterSwap, beforeAddLiquidity, afterAddLiquidity…). Ý tưởng rất đẹp: cho phép các nhà phát triển tùy chỉnh hành vi pool, từ fee động đến rebalance tự động. Nhưng như mọi công cụ mạnh, hook biến DEX thành Lego có thể lập trình – và mức độ phức tạp tăng vọt sẽ làm 90% developer nản lòng. YieldSweep là một case study điển hình: họ muốn tạo một pool "sweep yield" tự động chuyển lợi nhuận sang pool khác, và đã viết hook afterSwap() để gọi hàm collectFees() trên một contract bên ngoài.

Vấn đề? Họ quên mất nguyên tắc checks-effects-interactions. Họ gọi external contract trước khi cập nhật trạng thái balance của pool. Đó là một lỗ hổng reentrancy kinh điển, nhưng trong bối cảnh hook, nó còn nguy hiểm hơn vì hook có thể gọi lại chính pool.

Core: Phân tích cấp code – Nơi mọi thứ sụp đổ

Tôi sẽ mổ xẻ logic chính. Dưới đây là pseudocode của hook YieldSweep:

Giá thị trường

BTC Bitcoin
$66,445.8 +1.84%
ETH Ethereum
$1,924.42 +1.17%
SOL Solana
$78.05 +0.42%
BNB BNB Chain
$573.3 +0.37%
XRP XRP Ledger
$1.14 +2.47%
DOGE Dogecoin
$0.0732 +1.53%
ADA Cardano
$0.1730 +1.47%
AVAX Avalanche
$6.56 -0.47%
DOT Polkadot
$0.8460 +2.21%
LINK Chainlink
$8.65 +0.69%

Sợ & Tham

25

Cực kỳ sợ hãi

Tâm lý thị trường

Tin nhanh 7x24h

Thêm >
{{快讯列表(10)}} {{loop}}
{{快讯时间}}

{{快讯内容}}

{{快讯标签}}
{{/loop}} {{/快讯列表}}

Lịch sự kiện blockchain

{{年份}}
10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

Công cụ

Tất cả →

Chỉ số mùa altcoin

43

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
# Tiền điện tử Giá
1
Bitcoin BTC
$66,445.8
1
Ethereum ETH
$1,924.42
1
Solana SOL
$78.05
1
BNB Chain BNB
$573.3
1
XRP Ledger XRP
$1.14
1
Dogecoin DOGE
$0.0732
1
Cardano ADA
$0.1730
1
Avalanche AVAX
$6.56
1
Polkadot DOT
$0.8460
1
Chainlink LINK
$8.65

🐋 Theo dõi cá voi

🟢
0x6023...d3d3
1 ngày trước
Chuyển vào
1,544 BNB
🔴
0xfe24...4c3f
12 giờ trước
Chuyển ra
42,484 BNB
🔴
0x44f6...da4b
2 phút trước
Chuyển ra
36,957 SOL

💡 Smart Money

0xd1e5...13b6
Thợ đào DeFi hàng đầu
+$4.6M
84%
0x2c8c...1b77
Thợ đào DeFi hàng đầu
+$2.4M
90%
0xe2cb...52c2
Nhà tạo lập thị trường
+$0.7M
90%