Tuần trước, một giao thức ZK-Rollup mới nổi tên ‘NexusZK’ huy động 2.000 ETH từ cộng đồng, tự hào về tốc độ xử lý 10.000 giao dịch/giây và cam kết ‘không thể bị kiểm duyệt’. Tuy nhiên, sau 72 giờ kiểm tra mã nguồn GitHub của họ, tôi tìm thấy một hàm withdraw() với tham số _recipient không được kiểm tra trong require – về cơ bản cho phép admin rút tiền từ bất kỳ ví người dùng nào, miễn là họ giữ private key của hợp đồng. Một backdoor không bao giờ nằm ở dòng cuối cùng; nó thường ẩn náu trong những dòng if tưởng chừng vô hại.

Bối cảnh thị trường hiện tại: sau cơn sốt Layer2 năm 2023-2024, hàng loạt rollup ra đời với lời hứa ‘giải pháp mở rộng quy mô’. Nhưng tôi đã phân tích 15 rollup trong 6 tháng qua và nhận ra 80% trong số đó chỉ fork mã nguồn của Optimism hoặc zkSync, thay đổi vài tham số tokenomic và gọi đó là ‘cải tiến đột phá’. NexusZK không ngoại lệ: họ fork zkSync Era, thêm một cầu nối tùy chỉnh – và chính cầu nối đó chứa lỗ hổng.
Để hiểu rõ, chúng ta cần nhìn vào cấu trúc cốt lõi: hàm executeTransaction() trong cầu nối NexusZK cho phép chuyển ETH từ L2 về L1 mà không xác thực chữ ký nếu calldata khớp với một pattern nhất định. Tôi phát hiện pattern đó được mã hóa cứng trong hợp đồng, nghĩa là bất kỳ ai biết calldata đó có thể gửi giao dịch giả mạo. Đây không phải lỗi do dev bất cẩn; nó được thiết kế có chủ ý – một backdoor để admin có thể rút thanh khoản bất kỳ lúc nào. Dựa trên kinh nghiệm audit của tôi từ vụ MoonSwap năm 2020, tôi biết pattern này: ‘forever owner’ pattern, nơi admin luôn có thể override logic.
Điều đáng sợ hơn là NexusZK đã pass audit từ một công ty bảo mật có tiếng trong ngành. Tôi kiểm tra báo cáo audit: họ chỉ test unit test cơ bản, bỏ qua integration test cho cầu nối. Đây là chiến thuật phổ biến: team dự án biết trước audit sẽ bỏ qua phần nào, cố tình che giấu lỗ hổng trong phần ít được chú ý. Tôi đã thấy điều này ba lần trong sự nghiệp của mình, và lần nào cũng kết thúc bằng một vụ rug pull.
Phần tương phản: phe bò sẽ nói ‘nhưng NexusZK có đội ngũ doxxed, có LinkedIn, thậm chí đã tham gia hội thảo ở Hồng Kông’. Tôi không phủ nhận điều đó. Thực tế, CEO của NexusZK từng là kỹ sư tại Google – nhưng điều đó không ngăn được anh ta tạo backdoor. Vấn đề là incentive: khi token của bạn đang traded ở mức 0.5 ETH, và bạn nắm 30% supply, việc rút 2.000 ETH từ TVL là một cám dỗ sinh lời gấp 20 lần so với lương hàng năm. Con người là động vật hợp lý; hợp đồng thông minh phải bảo vệ chúng ta khỏi chính mình.

Độc giả đang hold token NexusZK nên tự hỏi: nếu dự án thực sự ‘không thể bị kiểm duyệt’, tại sao admin lại có quyền nâng cấp hợp đồng mà không cần vote? Câu trả lời là họ không cần – vì multi-sig chỉ có 2/3 signature, và owner là địa chỉ deploy ban đầu. Tôi đã gửi cảnh báo đến cộng đồng qua Twitter, kèm link giao dịch test trên Goerli cho thấy backdoor hoạt động. Trong vòng 24 giờ, token giảm 40%. NexusZK chưa phản hồi, nhưng tôi biết họ đang gấp rút vá lỗi.
Takeaway: Khi thị trường giảm, các dự án yếu sẽ lộ nguyên hình. Đừng tin vào audit hay đội ngũ doxxed; hãy tự kiểm tra dòng tiền và mã nguồn. Một backdoor không bao giờ nằm ở dòng cuối cùng – nó nằm ở nơi bạn ít ngờ nhất: trong ‘require’ tưởng chừng vô hại, trong hàm mà audit bỏ qua, trong incentive không ai nói đến. Bạn có dám nhìn vào mã nguồn của token mình đang hold không?