Tuần trước, DeFiLlama – nền tảng dữ liệu DeFi lớn nhất – làm một chuyện chưa từng có: cố tình để một ứng dụng giả mạo đánh cắp tài sản từ ví thật của họ. Không phải lỗi code, không phải phản ứng chậm. Họ chủ động đưa mồi cho kẻ gian. Lỗ hổng ở đây, không phải hype ở kia.
Bối cảnh: Ứng dụng lừa đảo giả mạo DeFiLlama xuất hiện trên App Store, đánh vào người dùng ít kiểm tra nguồn gốc. Các nền tảng phân phối ứng dụng như Apple và Google gần như không có cơ chế kiểm duyệt DApp hiệu quả. Thay vì chỉ cảnh báo, DeFiLlama quyết định ‘chơi lớn’: tạo một ví chứa vài token, tải app giả, kết nối ví và xem nó rút sạch. Họ ghi lại toàn bộ, sau đó công bố sự việc.
Đọc contract đi, thay vì tin vào tweet. Kỹ thuật đằng sau vụ này rất đơn giản nhưng hiệu quả. Ứng dụng giả yêu cầu ký một giao dịch approve (ERC20 hoặc Permit2) để lấy token. Nếu người dùng mù quáng ký, kẻ tấn công có thể gọi transferFrom để rút toàn bộ allowance. DeFiLlama đã dùng một ví mồi (honeypot) với số lượng token nhỏ, kích hoạt hoàn toàn giao dịch approval. Họ không cần phân tích mã nguồn app giả – chỉ cần để nó hành động. Đây là phương pháp ‘kiểm tra hộp đen’ (black-box testing) mà tôi từng dùng trong audit: cho kẻ tấn công cơ hội, rồi quan sát hành vi. Tuy nhiên, rủi ro rất lớn: nếu app giả chứa backdoor ngoài ý muốn, hoặc nếu ví mồi có dính dáng đến tài sản thật, DeFiLlama có thể mất nhiều hơn dự kiến.
Góc nhìn ngược: Đa số ca ngợi DeFiLlama vì dũng cảm ‘bắt quả tang’ kẻ lừa đảo. Nhưng tôi thấy đây là con dao hai lưỡi. Thứ nhất, hành động này có thể vi phạm luật hình sự ở một số quốc gia (cố tình để tài sản bị đánh cắp, thậm chí ‘tiếp tay’ cho tội phạm). Thứ hai, nó tạo ra tiền lệ nguy hiểm: các dự án khác có thể ‘dàn cảnh’ để câu view, gây hoang mang cho người dùng. Thứ ba, nó không giải quyết được gốc rễ vấn đề – đó là sự thiếu vắng một hệ thống xác thực ứng dụng phi tập trung, thay vì phải dựa vào các cửa hàng tập trung. DeFiLlama đã chứng minh rằng họ có thể phát hiện app giả, nhưng họ không thể làm điều đó cho hàng ngàn app mỗi ngày.
Takeaway: Đừng đợi đến khi bị hack mới biết sợ. Hãy tự kiểm tra contract của mọi dApp bạn kết nối. Còn về DeFiLlama, chiến thuật này chỉ là phép thử – nó cho thấy lỗ hổng không nằm ở code, mà nằm ở cách chúng ta phân phối và tin tưởng ứng dụng. Câu hỏi đặt ra: ai sẽ là người xây dựng ‘danh sách trắng’ phi tập trung cho toàn bộ Web3?