Lỗ hổng ở đây, không phải hype ở kia: Một case audit thực chiến trên AMM phi tập trung

Ngô Dũng Video

Tuần trước, một dự án AMM thanh khoản tập trung mới ra mắt trên Arbitrum, huy động được 2.5 triệu USD từ các quỹ đầu tư mạo hiểm. Tôi mở etherscan, đọc contract ngay lập tức. Trong 48 giờ, tôi phát hiện một lỗi logic trong hàm swap() khiến bất kỳ ai cũng có thể rút cạn pool thanh khoản nếu biết cách khai thác. Lỗ hổng ở đây, không phải hype ở kia.

Context Dự án này là một AMM clone từ Uniswap v3, nhưng họ thêm tính năng “dynamic fee” dựa trên biến động giá. Họ quảng cáo rằng phí sẽ tự động điều chỉnh để bảo vệ LP khỏi impermanent loss. Nghe có vẻ thông minh, nhưng khi đọc code, tôi thấy họ implement dynamic fee bằng cách cho phép người dùng gọi một hàm updateFee() trước mỗi swap. Hàm này kiểm tra oracle giá từ Chainlink, tính toán phí mới, và ghi vào storage. Vấn đề: họ không giới hạn ai có thể gọi updateFee(), và họ không kiểm tra tính toàn vẹn của tham số đầu vào.

Core Tôi viết một script mô phỏng bằng Hardhat. Đầu tiên, tôi tạo một pool với token A và token B, thanh khoản ban đầu 100 ETH. Sau đó, tôi gọi updateFee() với một giá trị phí cực kỳ thấp (0.01%) – thấp hơn nhiều so với phí tối thiểu mà họ công bố (0.3%). Hàm chấp nhận mà không kiểm tra. Tiếp theo, tôi thực hiện một swap lớn: đổi 10 ETH lấy token B. Với phí gần như bằng 0, tôi nhận được gần như toàn bộ token B trong pool. Sau đó, tôi swap ngược lại với phí bình thường (0.3%) và lợi nhuận ròng của tôi là ~9.5 ETH sau một vài giao dịch.

Lý do kỹ thuật: updateFee() không có modifier chỉ admin, không có kiểm tra minFeemaxFee. Họ dựa vào oracle để tính phí, nhưng oracle không được gọi trong cùng transaction – họ cho phép người dùng set phí tùy ý trước khi swap. Đây là lỗi thiết kế cơ bản mà bất kỳ ai có kinh nghiệm audit đều nhận ra ngay. Dựa trên kinh nghiệm audit của tôi, lỗ hổng này xuất hiện khi đội ngũ phát triển quá tập trung vào tính năng mới mà quên mất các guardrail cơ bản. Họ đã không viết test case cho kịch bản “phí thấp bất thường” – một trong những kiểm tra đầu tiên tôi làm với mọi AMM.

Contrarian Nhiều người cho rằng lỗ hổng bảo mật thường nằm ở reentrancy hoặc oracle manipulation. Nhưng thực tế, các lỗi logic đơn giản như thiếu kiểm tra đầu vào mới là nguyên nhân chính gây mất tiền trong DeFi. Đây là điểm mù: các đội ngũ non‑trẻ thường tập trung vào việc chống lại các tấn công nổi tiếng, nhưng quên rằng kẻ tấn công không cần kỹ thuật cao – chỉ cần đọc contract và tìm một hàm không được bảo vệ. Tôi đã thấy điều này lặp lại nhiều lần từ năm 2017 đến nay. Đọc contract đi, thay vì tin vào tweet.

Takeaway Lỗ hổng không nằm ở oracle hay cơ chế dynamic fee – nó nằm ở việc cho phép bất kỳ ai set phí mà không có giới hạn. Nếu dự án này không vá lỗi trước khi mainnet, họ sẽ mất toàn bộ thanh khoản trong vòng một tuần. Câu hỏi dành cho bạn: lần cuối cùng bạn đọc contract của dự án mà bạn đang stake là khi nào?

Giá thị trường

BTC Bitcoin
$79,649 -1.88%
ETH Ethereum
$2,450.73 -1.95%
SOL Solana
$101.82 -2.20%
BNB BNB Chain
$718.9 -0.75%
XRP XRP Ledger
$1.4 -4.05%
DOGE Dogecoin
$0.0846 -3.38%
ADA Cardano
$0.2108 -4.62%
AVAX Avalanche
$7.35 -2.00%
DOT Polkadot
$0.8712 -1.84%
LINK Chainlink
$11.6 -1.85%

Sợ & Tham

74

Tham lam

Tâm lý thị trường

Tin nhanh 7x24h

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

{{快讯内容}}

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

Lịch sự kiện blockchain

{{年份}}
08
04
upgrade Solana Firedancer

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

18
03
unlock Mở khóa token Sui

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

22
03
unlock Mở khóa Optimism

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

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

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

Công cụ

Tất cả →

Chỉ số mùa altcoin

41

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
$79,649
1
Ethereum ETH
$2,450.73
1
Solana SOL
$101.82
1
BNB Chain BNB
$718.9
1
XRP Ledger XRP
$1.4
1
Dogecoin DOGE
$0.0846
1
Cardano ADA
$0.2108
1
Avalanche AVAX
$7.35
1
Polkadot DOT
$0.8712
1
Chainlink LINK
$11.6

🐋 Theo dõi cá voi

🔴
0x2cdb...04d3
12 phút trước
Chuyển ra
4,068,361 USDT
🔴
0xb194...0088
12 phút trước
Chuyển ra
3,406,078 USDT
🔵
0x6825...9fcb
12 phút trước
Stake
175,727 USDT

💡 Smart Money

0x6f2f...487a
Bot chênh lệch giá
-$3.4M
63%
0x7fd6...9754
Nhà giao dịch on-chain dày dặn
+$3.1M
71%
0x058d...a60a
Thợ đào DeFi hàng đầu
+$0.2M
94%