Đào sâu lỗ hổng reentrancy trong YieldVault: Bài học từ audit thực tế

Trương Hưng Kinh doanh

Tôi nhận được một hợp đồng ICO vào năm 2017. Hai tuần đọc từng dòng Solidity, tôi phát hiện một lỗi reentrancy trong hàm withdraw. 500 ETH đã được cứu. Hôm nay, tôi thấy lại pattern đó trong một dự án DeFi mới: YieldVault. Họ vừa huy động 50 triệu USD từ các quỹ lớn. Nhưng code của họ có một vấn đề mà tôi sẽ chỉ ra ngay sau đây.

## Context YieldVault là một giao thức yield farming trên Ethereum L2 (Arbitrum). Nó cho phép người dùng deposit token vào các pool thanh khoản và nhận lãi suất biến đổi. Hợp đồng chính của nó, Vault.sol, quản lý việc deposit và withdraw. Theo whitepaper, họ sử dụng mô hình 'optimistic accounting' để giảm gas cost. Nhưng chính mô hình này tạo ra một lỗ hổng bảo mật.

## Core Tôi đã fork code của họ từ GitHub (commit a3f2b1c) và chạy thử nghiệm trên hardhat local network. Hàm withdraw(uint256 amount) trong Vault.sol có đoạn code sau:

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

{{年份}}
15
04
halving Bitcoin Halving

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

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

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

08
04
upgrade Solana Firedancer

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

12
05
halving BCH Halving

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

22
03
unlock Mở khóa Optimism

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

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

🔴
0x65d6...8650
6 giờ trước
Chuyển ra
2,260,625 USDT
🔵
0x490d...b5f5
12 phút trước
Stake
2,337,577 DOGE
🔴
0xde06...6fc7
3 giờ trước
Chuyển ra
4,686 ETH

💡 Smart Money

0x13b0...512a
Nhà giao dịch on-chain dày dặn
+$0.5M
72%
0xe3ea...9e23
Bot chênh lệch giá
+$1.4M
76%
0xdb93...9677
Nhà giao dịch on-chain dày dặn
+$3.5M
64%