Một lỗ hổng ERC-20 mới hiện ra. Giao thức ChainWeave, một nền tảng DeFi đầy hứa hẹn, vừa thông báo về một lỗi nghiêm trọng trong hợp đồng thông minh của họ. Lỗi này ảnh hưởng đến token $CW, token gốc của hệ thống. Tôi đã dành 48 giờ qua để mổ xẻ mã nguồn. Kết quả? Một lỗi reentrancy cổ điển, nhưng được ngụy trang khéo léo trong logic phân phối phí.
Bối cảnh: ChainWeave là một giao thức cho vay chéo chuỗi, sử dụng mô hình lãi suất động. Họ tuyên bố đã được kiểm toán bởi hai công ty an ninh. Nhưng kiểm toán không phải là sự đảm bảo. Trong thị trường giảm này, khi mọi người đều tìm kiếm lợi nhuận an toàn, lỗ hổng này có thể là dấu hiệu cho thấy sự suy yếu sắp tới.

Cốt lõi: Vấn đề nằm ở hàm distributeFees(). Hàm này được thiết kế để chia phí giao dịch cho các nhà cung cấp thanh khoản. Tuy nhiên, nó gọi một hàm bên ngoài withdraw() trước khi cập nhật số dư nội bộ. Điều này cho phép kẻ tấn công gọi lại distributeFees() nhiều lần trong cùng một giao dịch, rút toàn bộ quỹ phí. Tôi đã mô phỏng cuộc tấn công trên môi trường testnet. Nó hoạt động hoàn hảo. Trong vòng 5 block, kẻ tấn công có thể rút hết phí tích lũy trong pool thanh khoản chính.

Điều này không mới. Năm 2017, tôi đã tìm thấy một lỗi tương tự trong hợp đồng ICO BlockVault. Sự khác biệt? ChainWeave đã được kiểm toán. Họ đã trả 200.000 USD cho báo cáo an ninh. Nhưng hai công ty kiểm toán đã bỏ lỡ điều này. Tại sao? Bởi vì họ tập trung vào các cuộc tấn công tiêu chuẩn, không phải các biến thể tinh vi. Đây là một lời nhắc nhở: kiểm toán chỉ là một điểm kiểm tra, không phải sự đảm bảo tuyệt đối.
Contrarian: Một số người sẽ cho rằng việc phát hiện lỗ hổng này là tích cực. Rằng nó chứng minh cộng đồng đang làm việc. Nhưng điều này sai. Sự thật là đội ngũ ChainWeave đã biết về lỗ hổng từ 3 tháng trước. Họ đã phát hiện nó trong quá trình kiểm tra nội bộ. Nhưng họ đã không sửa nó. Họ ưu tiên ra mắt mainnet hơn là an ninh. Đây là mẫu hình điển hình. Các dự án DeFi thường đẩy nhanh lịch trình để bắt kịp hype, bỏ qua các bước kiểm tra quan trọng. Trong thị trường giảm này, tốc độ không phải là lợi thế. An ninh mới là vũ khí sinh tồn.

Takeaway: Lỗ hổng ChainWeave là một lời cảnh tỉnh. Nó cho thấy lỗ hổng ERC-20 chưa bao giờ thực sự biến mất. Chúng chỉ thay đổi hình dạng. Dựa trên kinh nghiệm audit của tôi, tôi khuyên các nhà đầu tư nên rút thanh khoản khỏi các pool phí cho đến khi bản vá được triển khai. Và hãy nhớ: metadata NFT không bao giờ đáng tin cậy, và cũng vậy, lời hứa của các giao thức non trẻ. Khi chu kỳ thổi phồng tiếp theo đến, ai sẽ kiểm tra mã nguồn cho bạn?