SummerFi sụp đổ: Bài học về bảo trì giao thức cho OG DeFi
Nguyễn Đức
Một OG DeFi vừa tắt đèn sau 7 năm hoạt động. SummerFi – điểm truy cập DeFi từng được Aave gọi là 'huyền thoại' – đã đóng cửa vì bị khai thác lỗ hổng trên Lazy Summer Protocol. Tôi đã audit contract ICO năm 2017: lỗi overflow trong transferFrom có thể khiến người dùng mất token. Lần này cũng tương tự, nhưng hệ quả nặng hơn – cả dự án sụp đổ.
SummerFi là gì? Một giao diện người dùng (front-end) cho phép truy cập các giao thức DeFi khác like Aave. Nó hoạt động như một 'cửa ngõ' phi tập trung, không nắm giữ tài sản trực tiếp. Nhưng lỗ hổng lại nằm ở tầng contract – Lazy Summer Protocol – nơi xử lý logic aggregator. Sau 7 năm, code cũ, ít audit, một kẻ tấn công đã khai thác và rút cạn thanh khoản. Kết quả: SummerFi tuyên bố đóng cửa ngay lập tức.
Kinh nghiệm fork Uniswap V2 năm 2020 của tôi cho thấy: khi bạn fork code, bạn kế thừa cả lỗi. Lazy Summer Protocol có thể đã dùng thư viện cũ hoặc quên cập nhật access control. Trong audit của tôi, lỗi overflow trong transferFrom năm 2017 là do use SafeMath không đầy đủ. Còn ở đây, tôi cá là lỗi reentrancy hoặc misconfigured oracle – nhưng không có PoC công khai. Điều đáng nói: một dự án 7 năm tuổi, thuộc hàng OG, lại không có cơ chế bảo vệ? 'Hợp đồng ICO lỗi? Tôi đã thấy và vá nó.' – nhưng người khác thì không.
Nhiều người nghĩ lỗ hổng công nghệ là nguyên nhân chính. Sai. Vấn đề là sự lười bảo trì. Các công ty bảo mật như Trail of Bits thường khuyến cáo audit lại mỗi 6 tháng. SummerFi có thể đã ngừng thuê audit sau năm thứ 3. Khi hacker tìm ra lỗi, không có bản vá kịp thời. 'Thất bại không đến từ code tệ, mà từ việc không cập nhật code.' – đó là bài học xương máu.
Điểm trái ngược: việc đóng cửa ngay lập tức có thể là quyết định có trách nhiệm. Thay vì cố gắng vá lỗi rồi lại gặp lỗi mới, họ chọn dừng lại để bảo vệ người dùng cuối. Aave vẫn an toàn vì SummerFi chỉ là front-end, không ảnh hưởng đến contract của Aave. Nhưng thanh khoản trong Lazy Summer Protocol thì mất trắng. 'Một OG rời sân khấu – đó là kết thúc của một kỷ nguyên không bảo trì.'
Câu chuyện này dạy chúng ta điều gì? Trong thị trường downtrend, sống sót quan trọng hơn lợi nhuận. Kiểm tra lịch sử audit của giao thức bạn đang dùng. Nếu lần audit cuối là 2 năm trước, hãy rút tiền. Tôi thường nói với nhóm đầu tư: 'Một giao thức không audit thường xuyên là bom nổ chậm.' SummerFi vừa phát nổ. Bạn còn muốn giữ tiền trong những protocol 'cổ xưa'?