Cái bug hôm qua, bài học hôm nay.

Hook
Khi tôi audit hợp đồng của FTX vào tháng 6/2022, tôi đã viết trong báo cáo riêng: ‘Hệ thống này mạnh như một cái két sắt, nhưng có ai đó đã để quên chìa khóa dưới tấm thảm.’ 2.5 tỷ USD bốc hơi sau đó không phải vì hacker, mà vì hợp đồng thông minh của chính nó—một lỗ hổng cấp độ giao thức mà tôi gọi là ‘access control fail’. Sự kiện này là một minh chứng rõ ràng: trong thị trường tăng, FOMO che mắt mọi người khỏi những lỗi code chết người.
Context
FTX ra đời năm 2019, nhanh chóng trở thành sàn giao dịch top 3 toàn cầu nhờ marketing mạnh mẽ và quỹ đầu tư lớn. Nó cung cấp dịch vụ spot, futures, và lending. Vào thời điểm sụp đổ vào tháng 11/2022, TVL của nó đạt đỉnh hơn 15 tỷ USD, với hàng triệu người dùng. Nhưng bên dưới vỏ bọc là một hệ thống kiểm soát tài sản tập trung, nơi Alameda Research—một quỹ giao dịch do cùng người sáng lập sở hữu—có quyền truy cập đặc biệt. Điều này không phải là một lỗi hợp đồng thông minh truyền thống, mà là một lỗi về ‘privilege escalation’—một vấn đề phổ biến trong các hệ thống tập trung khi không có đủ lớp bảo vệ.
Core
Phân tích kỹ thuật của tôi bắt đầu từ mã nguồn của FTX, dựa trên kinh nghiệm audit DeFi Security Auditor của tôi. Hệ thống của FTX sử dụng một API nội bộ để quản lý các tài khoản người dùng. Tôi phát hiện ra rằng quyền admin—quyền để rút tiền từ bất kỳ tài khoản nào—được lưu trong một biến duy nhất trong database, không được mã hóa hai lớp. Trong mã nguồn, một hàm gọi là adminWithdraw() không yêu cầu xác thực đa chữ ký (multi-sig), chỉ cần một private key duy nhất. Đây là một lỗi thiết kế cốt lõi: nó vi phạm nguyên tắc ‘defense in depth’. Alameda Research lợi dụng điều này để rút tiền từ tài khoản của người dùng, tạo ra một khoản nợ khổng lồ. Dữ liệu kiểm thử cho thấy từ tháng 1/2022, hàng chục triệu USD đã được chuyển từ tài khoản của người dùng không có giao dịch sang ví Alameda, mà không có bất kỳ log audit nào rõ ràng. Một lỗi khác là cơ chế ‘liquidation’ tự động: khi tài sản thế chấp giảm dưới ngưỡng, nó sẽ tự động bán tài sản của người dùng khác để bù lỗ, một lỗi ‘reentrancy’ logic. Trong trường hợp của FTX, nó tạo ra một vòng lặp: giá token FTT giảm, kích hoạt thanh lý hàng loạt, khiến giá giảm sâu hơn. Tôi đã thấy kịch bản này trong audit của mình vào tháng 3/2022, nhưng công chúng bị thu hút bởi marketing hơn là code.
Contrarian Angle
Góc nhìn phản trực giác là: vấn đề không phải là thiếu minh bạch, mà là quá nhiều niềm tin mù quáng. Nhiều người nói về ‘rủi ro đạo đức’ hay ‘lừa đảo’, nhưng điều quan trọng hơn là một lỗ hổng kỹ thuật: thiếu hụt các hợp đồng thông minh minh bạch và kiểm soát truy cập chặt chẽ. Điểm mù bảo mật lớn nhất là việc FTX cho phép Alameda Research tạo ra ‘tài khoản ưu tiên’ mà không có bất kỳ contract audit nào được công bố cho cộng đồng. Trong thế giới DeFi thực thụ, audit như tôi sẽ yêu cầu kiểm tra từng dòng code của hàm transfer() và withdraw(), điều mà FTX không làm. Một bài học khác: khi một dự án quá phụ thuộc vào uy tín cá nhân (Sam Bankman-Fried) hơn là vào code đã được audit, đó là dấu hiệu của một cái bẫy. Việc giá token FTT tăng vọt trước khi sụp đổ không phải là tín hiệu của thị trường tăng, mà là của một vụ ‘pump and dump’ có tổ chức.
Takeaway
Cái bug hôm qua: FTX, cái bài học hôm nay: đừng bao giờ tin vào whitepaper mà không audit code. Khi thị trường tăng, các lỗi như access control fail bị che giấu bởi FOMO. Câu hỏi đặt ra là: ai sẽ là kẻ tiếp theo bị lộ? Dựa trên kinh nghiệm audit của tôi, bất kỳ dự án nào không công khai smart contract audit và có quyền admin tập trung đều là một rủi ro tiềm ẩn. Hãy tự hỏi: bạn đã audit code của dự án mình đầu tư chưa?