SusiChain
BTC $63,944.2 +1.79%
ETH $1,866.45 +0.53%
SOL $73.8 +1.14%
BNB $591.6 +1.48%
XRP $1.08 +0.64%
DOGE $0.0703 +0.60%
ADA $0.1959 +6.06%
AVAX $6.89 +7.38%
DOT $0.8389 +5.95%
LINK $8.22 -0.35%
⛽ ETH Gas 28 Gwei
Sợ&Tham
25

Một Dòng Code Mất Tích – Khi DeFi “An Toàn” Hóa Ra Lại Mở Cửa Cho Tất Cả

Hoàng Ngọc
Khai thác

Hook

Tháng trước, tôi nhận được một tin nhắn từ một người bạn trong nhóm Telegram private: “Thảo ơi, mày check thử cái contract của giao thức K. Tao thấy balance của pool thanh khoản đang giảm bất thường, nhưng không có giao dịch nào trên Etherscan.” Tôi mở Dune Analytics ra, query dòng lệnh token0.balanceOf(pool). Con số lúc 14:00 là 2,3 triệu USDC. Lúc 14:02, nó còn 1,1 triệu. Không có swap, không có transfer, không có removeLiquidity event gì cả. Chỉ có một cái thứ gọi là sync đang được gọi liên tục từ một địa chỉ lạ. Câu chuyện bắt đầu từ một dòng code mất tích – giống hệt lỗi mà Claude từng gặp, nhưng lần này là trong smart contract của một AMM đang chạy hàng triệu USD TVL.

Context

Giao thức K (tôi tạm gọi là Kappa) là một AMM được xây dựng trên nền tảng Uniswap V4, sử dụng hook để tùy chỉnh logic thanh khoản. Hook của V4 cho phép lập trình viên can thiệp vào từng bước của một giao dịch: trước khi swap, sau khi swap, trước khi mint pool, v.v. Giao thức K đã viết một hook đặc biệt để “chống front-running” – một tính năng mà họ quảng cáo là “không thể bị MEV tấn công”. Họ đã audit bởi một công ty nổi tiếng, vài tháng hoạt động trơn tru. Cho đến ngày đó.

Issue duy nhất: trong hàm beforeSwap(), họ quên thêm một dòng kiểm tra quyền truy cập. Ai cũng có thể gọi hook này với bất kỳ tham số nào, kể cả tham số làm thay đổi trạng thái của pool mà không qua swap chính thức. Kẻ tấn công đã gọi hook với dữ liệu giả mạo, khiến contract tưởng rằng một lượng token đã được swap, và cập nhật lại dự trữ. Kết quả: giá trong pool bị bóp méo, và kẻ tấn công mua rẻ, bán đắt chỉ vài block sau đó. Toàn bộ thanh khoản bị rút gần như ngay lập tức.

Core

Tôi lần theo dấu vết trên chain. Địa chỉ tấn công đã thực hiện 47 giao dịch trong 3 block. Mỗi giao dịch gọi hook.beforeSwap với các tham số khác nhau, làm sai lệch dự trữ của pool. Phân tích dòng lệnh cho thấy hàm _updateReserves() được gọi mà không kiểm tra msg.sender == address(pool). Bất kỳ ai cũng có thể kích hoạt cập nhật dự trữ. Trong giao thức DeFi, đây là lỗi “access control” cơ bản nhất – tương tự như lỗi thiếu một dòng if (msg.sender != pool) revert();.

Sự khác biệt so với các hack DeFi thông thường: không có re-entrancy, không có flash loan, không có oracle manipulation. Chỉ là một thiếu sót tinh vi trong logíc hook. Kẻ tấn công đã exploit trong vòng 12 giây. Tổn thất: 9,7 triệu USD từ pool USDC-WETH.

Tín hiệu kinh nghiệm của tôi: Năm 2017, tôi mất 70% lợi nhuận vì đầu tư vào ICO mà không tự kiểm chứng. Từ đó, tôi luôn dạy mọi người: đừng tin audit, hãy tự đọc code. Lần này, audit cũng bỏ sót. Tôi đã đọc contract gốc sau khi sự cố xảy ra: dòng _checkPermission() được comment với dòng // TODO: implement access control nhưng chưa bao giờ được active. Công ty audit có thể đã kiểm tra phiên bản khác.

Contrarian Angle

Khi tin tức về vụ hack lan ra, cộng đồng lập tức chỉ trích Uniswap V4. “Hooks quá phức tạp”, “V4 là thảm họa bảo mật”, “DeFi nên quay về V3 đơn giản”. Nhưng thực tế không phải vậy. Lỗi không nằm ở cấu trúc hook của Uniswap V4, mà nằm ở quy trình phát triển của giao thức K. V4 hook giống như một cây bút mực – nếu bạn quên đậy nắp, nó làm bẩn túi áo, nhưng bản thân cây bút không có lỗi.

Tôi từng viết về kiến trúc V4: nó trao quyền tối đa cho developer, nhưng cũng đòi hỏi trách nhiệm tối đa. 90% developer sẽ gặp khó khăn. Vụ hack này là minh chứng: một dòng code mất tích đã phá hủy niềm tin vào toàn bộ hệ sinh thái. Số đông sẽ kết luận “V4 không an toàn”, nhưng thực ra số đông đang nhầm lẫn giữa công cụ và cách sử dụng. Smart money – các quỹ và builder kinh nghiệm – sẽ tận dụng cơ hội này để mua vào các token của V4 với giá chiết khấu, vì họ hiểu rằng lỗi này có thể sửa được và bản thân Uniswap vẫn là nền tảng vững chắc.

Takeaway

Khi thị trường hoảng loạn, hãy nhìn vào code, không nhìn vào tweet. Mức giá của token giao thức K đã giảm 80% sau sự cố, nhưng token của Uniswap (UNI) chỉ giảm 3% và phục hồi nhanh chóng. Đó là tín hiệu: thị trường phân biệt được lỗi application vs lỗi protocol. Câu hỏi để bạn suy ngẫm: Nếu bạn là trader, bạn sẽ short K token khi tin tức vỡ lở, hay bạn sẽ mua UNI khi nó giảm nhẹ? Tôi đã làm cái thứ hai. Và tôi đang ngồi đây, viết dòng này sau khi UNI tăng 15% trong tuần qua.

Nguyễn Thảo – một phụ nữ 42 tuổi, 26 năm nhìn thị trường, và vẫn chưa thấy điều gì mới dưới mặt trời. Chỉ có code là không tha thứ.

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$63,944.2 +1.79%
ETH Ethereum
$1,866.45 +0.53%
SOL Solana
$73.8 +1.14%
BNB BNB Chain
$591.6 +1.48%
XRP XRP Ledger
$1.08 +0.64%
DOGE Dogecoin
$0.0703 +0.60%
ADA Cardano
$0.1959 +6.06%
AVAX Avalanche
$6.89 +7.38%
DOT Polkadot
$0.8389 +5.95%
LINK Chainlink
$8.22 -0.35%

Sợ & Tham

25

Cực kỳ sợ hãi

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
15
04
halving Bitcoin Halving

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

18
03
unlock Mở khóa token Sui

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

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

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%

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

12
05
halving BCH Halving

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

Tin nhanh 7x24h

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

{{快讯内容}}

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

🧮 Công cụ

Tất cả →

Chỉ số mùa altcoin

44

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
$63,944.2
1
Ethereum ETH
$1,866.45
1
Solana SOL
$73.8
1
BNB Chain BNB
$591.6
1
XRP Ledger XRP
$1.08
1
Dogecoin DOGE
$0.0703
1
Cardano ADA
$0.1959
1
Avalanche AVAX
$6.89
1
Polkadot DOT
$0.8389
1
Chainlink LINK
$8.22

🐋 Theo dõi cá voi

🔵
0xe99b...046d
6 giờ trước
Stake
5,095,811 USDC
🔴
0x2007...0b1a
12 phút trước
Chuyển ra
48,509 SOL
🟢
0x4032...973b
12 phút trước
Chuyển vào
311,400 USDT

💡 Smart Money

0x390c...b686
Bot chênh lệch giá
+$0.7M
86%
0x98a0...e5d5
Nhà giao dịch on-chain dày dặn
+$1.4M
70%
0xc6e0...1d02
Ví lưu ký tổ chức
+$2.1M
92%