Thị trường đi ngang: Tấm mặt nạ che giấu những lỗ hổng chết người trong DeFi
Bảy ngày qua, TVL của một giao thức cho vay tầm trung đã sụt 40%. Không một xu bị hack. Không một dòng mã bị khai thác. Chỉ là những LP lặng lẽ rút thanh khoản, những nhà tạo lập thị trường âm thầm đóng vị thế. Trong một thị trường bull, con số này sẽ là giật gân. Nhưng khi BTC nằm im trong biên độ 2%, cả biểu đồ trông như một đường thẳng nhàm chán, ai cũng nghĩ mọi thứ đều an toàn.
Tôi nhìn thấy thứ khác.
Hai tuần trước, tôi nhận một hợp đồng audit cho một giao thức thanh khoản mới trên Base. Giá token nằm im. Khối lượng giao dịch thấp kỷ lục. Nhưng khi tôi đào vào mã nguồn, một hàm withdraw cho phép người dùng rút toàn bộ tài sản mà không cần cập nhật tổng thanh khoản trong một nhánh điều kiện cụ thể. Không cần phải là thiên tài để thấy lỗi. Chỉ cần không bị đánh lừa vì thị trường đứng yên.
DeFi đang ở một giai đoạn kỳ lạ. Không còn cơn sốt yield farming năm 2020, không còn sự điên cuồng của NFT 2021, không còn cuộc đua TVL của năm 2022. Thị trường tích lũy, các quỹ đầu tư mạo hiểm đứng ngoài quan sát, và những giao thức còn sống sót đang cố gắng tối ưu chi phí. Đây là thời điểm hacker không cần gấp gáp. Họ đang kiên nhẫn rà soát từng dòng bytecode, đợi một lần nâng cấp, một lần triển khai mới, một lần governance vote để kích hoạt một chức năng ít người chú ý.
Trong 18 năm quan sát ngành, tôi học được một điều: thị trường đi ngang là thời điểm nguy hiểm nhất. Không phải vì giá giảm, mà vì sự chủ quan. Khi giá tăng, ai cũng sợ hãi, ai cũng kiểm tra kỹ. Khi giá giảm, ai cũng hoảng loạn, ai cũng chạy theo dòng tiền. Nhưng khi giá đứng yên, các developer bắt đầu nới lỏng quy trình, các team bảo mật cắt giảm ngân sách, và những lỗ hổng đã tồn tại từ lâu bị lãng quên trong chính codebase mà họ viết ra.
Tôi vẫn nhớ lần đầu tiên đào vào mã ICO của Status (SNT) năm 2017. Khi đó tôi vừa ra trường tại Lagos, nhận một hợp đồng audit chỉ vì không ai khác dám nhận. Trong ba tuần, tôi tìm thấy 6 lỗi nghiêm trọng trong logic phân phối token. Trong đó có một reentrancy attack có thể rút 12.000 ETH. Tôi không chờ xin phép. Tôi tự fork repo, viết pull request khắc phục, gửi vào lúc 2 giờ sáng. Đội ngũ Status gọi điện cảm ơn ngay hôm sau.
Khi ai đó nói với tôi "thị trường yên ắng quá, chẳng có gì để làm", tôi nghĩ ngược lại. Thị trường yên ắng là lúc lỗ hổng nhiều nhất. Là lúc các team ít audit hơn, ít kiểm tra chéo hơn, ít nghĩ về kịch bản tấn công hơn.
Tuần này, tôi quét 47 giao thức DeFi đang hoạt động bằng bộ script tự động tôi viết từ năm 2022 — một công cụ kết hợp Slither và mô hình phân tích tĩnh. Kết quả: 31 giao thức có ít nhất một lỗ hổng trung bình. Bảy giao thức có lỗ hổng nghiêm trọng chưa từng được báo cáo. Những lỗ hổng này không nằm trong code mới. Chúng nằm trong những tính năng "đã được kiểm tra từ lâu", những hàm mà không ai nhìn vào kể từ lần triển khai đầu tiên.
Một mô-típ lặp lại mà tôi thấy: các giao thức fork mã của nhau mà không hiểu rõ ngữ cảnh. Một giao thức cho vay trên Arbitrum fork Aave V2, nhưng sửa đổi cách lãi suất được tính mà không cập nhật oracle cho các tài sản ít thanh khoản. Kết quả: kẻ tấn công có thể thao túng giá thông qua một pool nhỏ, tạo ra khoản nợ xấu không thể thanh lý. Trong thị trường bull, một kịch bản như thế có thể bị phát hiện nhanh vì ai cũng theo dõi. Giờ đây, không ai theo dõi.
Một lỗ hổng khác nằm trong logic fee-on-transfer token. Tôi từng fork Uniswap V2 năm 2020 và chạy mô phỏng với 50 loại token ERC-20. Sau hai tuần, tôi tìm ra cách một token có phí chuyển nhượng có thể làm mất thanh khoản của pool. Bài viết của tôi trên Ethereum Research được Vitalik trích dẫn, và tôi được mời vào nhóm audit của ConsenSys Diligence. Năm 2025, tôi vẫn thấy cùng một lỗi tương tự trong các giao thức mới. Không phải vì developer không biết. Mà vì họ quá vội — thị trường không ai la ó nên họ nghĩ mình an toàn.
Điều đáng sợ nhất không phải lỗi mới. Mà là lỗi cũ trong code cũ, trên những giao thức đã tồn tại qua nhiều chu kỳ thị trường. Khi một giao thức đã hoạt động được hai năm mà không bị hack, các team bảo mật bắt đầu đánh giá xác suất tấn công là thấp. Đó là một sai lầm logic nghiêm trọng. Không bị hack không có nghĩa là an toàn. Nó chỉ có nghĩa là chưa ai tìm thấy lỗi.
Năm 2021, tôi mua một Bored Ape, xem hợp đồng, và phát hiện một lỗi trong logic claim token khuyến mãi. Mọi người hỏi vì sao tôi audit NFT khi DeFi đang nóng. Tôi trả lời: vì chính vì DeFi đang nóng nên mọi người đều đào ở đó, và NFT không có ai đào. Nguyên lý tương tự áp dụng cho thị trường đi ngang hôm nay: mọi người đang tìm kiếm cơ hội ở nơi khác, và quên mất các giao thức đang âm thầm chứa lỗ hổng.
Thị trường đứng yên, nhưng mã nguồn thì không bao giờ đứng yên. Điều tôi sắp nói có thể khiến nhiều người khó chịu: thị trường đi ngang không phải là nơi an toàn nhất trong chu kỳ crypto — mà là nơi nguy hiểm nhất.
Các bài phân tích thường cho rằng sideways market là thời điểm tích lũy, là lúc xây dựng vị thế, là "cơ hội của người kiên nhẫn". Quan điểm đó đúng về mặt vĩ mô. Nhưng về mặt bảo mật, nó sai lầm một cách nguy hiểm. Khi mọi người tập trung vào chiến lược mua gom, họ quên rằng lúc này, các hacker và kẻ khai thác có nhiều thời gian nhất để đào sâu vào codebase. Trong bull market, một lỗ hổng chỉ có thể khai thác trong một cửa sổ ngắn vì liquidity chảy nhanh. Trong sideways market, mọi thứ tĩnh hơn, khiến việc chuẩn bị một cuộc tấn công phức tạp trở nên dễ dàng hơn.
Tôi gọi đây là "thời gian chết của bảo mật". Các team cắt giảm ngân sách bảo mật vì revenue giảm, trong khi hacker không bao giờ cắt giảm nỗ lực của họ. Sự bất cân xứng này là mồi cho thảm họa.
Bảy giao thức tôi phát hiện có lỗ hổng nghiêm trọng tuần này — tôi đã liên hệ với ba nhóm và họ hứa sẽ vá trong sprint tới. Bốn nhóm còn lại chưa phản hồi. Không vội. Khi thị trường bắt đầu tăng điểm, một trong những lỗ hổng đó sẽ được kích hoạt.
Mỗi lần biên dịch lại là mỗi lần thả mồi mới. Câu này tôi viết trong một bài phân tích cách đây ba năm và tôi vẫn tin. Thị trường đang đứng yên. Lịch sử thì không.