Gần đây, một hợp đồng dự án tài sản số được theo dõi đã được phát hiện có hai lỗ hổng nghiêm trọng. Đội ngũ an ninh trong quá trình xem xét hợp đồng này đã phát hiện ra rằng những lỗ hổng này có thể dẫn đến việc tài sản của người dùng bị khóa, cũng như bên dự án không thể rút hơn 34 triệu đô la.
Lỗ hổng đầu tiên liên quan đến chức năng hoàn tiền. Chương trình hoàn tiền trong hợp đồng sử dụng phương pháp lặp để hoàn tiền cho tất cả người dùng. Tuy nhiên, nếu địa chỉ của một người dùng là hợp đồng độc hại, nó có thể từ chối nhận hoàn tiền và dẫn đến việc giao dịch thất bại, từ đó ảnh hưởng đến hoạt động hoàn tiền của tất cả người dùng. May mắn thay, lỗ hổng này chưa được khai thác thực tế.
Để tránh các vấn đề tương tự, chúng tôi khuyên Bên dự án nên xem xét các điểm sau khi thiết kế cơ chế hoàn tiền:
Giới hạn chỉ có tài khoản người dùng bình thường có thể tham gia dự án
Sử dụng các token ERC20 như WETH để thay thế tài sản gốc
Thiết kế cho phép người dùng tự xin hoàn tiền, thay vì xử lý hàng loạt.
Lỗ hổng thứ hai là do một lỗi logic trong mã. Trong hàm trích xuất vốn dự án, có một câu lệnh điều kiện, vốn dĩ nên so sánh hai biến cụ thể, nhưng đã sử dụng nhầm một biến khác để so sánh. Điều này dẫn đến điều kiện không bao giờ được thỏa mãn, Bên dự án do đó không thể trích xuất vốn trong hợp đồng. Hiện tại, khoảng 34 triệu đô la tài sản bị khóa vĩnh viễn trong hợp đồng.
Sự kiện này một lần nữa làm nổi bật rằng ngay cả những dự án nổi tiếng cũng có thể xảy ra sai sót nghiêm trọng. Đội ngũ phát triển trong quá trình phát triển dự án cần phải viết đầy đủ các trường hợp thử nghiệm và xây dựng nhận thức an toàn cơ bản. Mặc dù trong lĩnh vực tài chính phi tập trung, kiểm toán an toàn đã trở thành một thực tiễn thông thường, nhưng trong các dự án tài sản số, giai đoạn này thường bị bỏ qua, cuối cùng dẫn đến thiệt hại lớn.
Sự kiện này nhắc nhở chúng ta rằng trong việc phát triển các dự án blockchain, bất kể quy mô của dự án như thế nào, đều cần phải coi trọng công việc kiểm toán an ninh để phòng ngừa các lỗ hổng có thể gây ra hậu quả nghiêm trọng. Đồng thời, nó cũng làm nổi bật tầm quan trọng của chi tiết trong việc phát triển hợp đồng thông minh, một lỗi nhỏ trong mã có thể dẫn đến thiệt hại hàng triệu đô la.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Dự án hợp đồng sưu tầm kỹ thuật số hiện có lỗ hổng nghiêm trọng, 34 triệu USD đã bị khóa vĩnh viễn.
Gần đây, một hợp đồng dự án tài sản số được theo dõi đã được phát hiện có hai lỗ hổng nghiêm trọng. Đội ngũ an ninh trong quá trình xem xét hợp đồng này đã phát hiện ra rằng những lỗ hổng này có thể dẫn đến việc tài sản của người dùng bị khóa, cũng như bên dự án không thể rút hơn 34 triệu đô la.
Lỗ hổng đầu tiên liên quan đến chức năng hoàn tiền. Chương trình hoàn tiền trong hợp đồng sử dụng phương pháp lặp để hoàn tiền cho tất cả người dùng. Tuy nhiên, nếu địa chỉ của một người dùng là hợp đồng độc hại, nó có thể từ chối nhận hoàn tiền và dẫn đến việc giao dịch thất bại, từ đó ảnh hưởng đến hoạt động hoàn tiền của tất cả người dùng. May mắn thay, lỗ hổng này chưa được khai thác thực tế.
Để tránh các vấn đề tương tự, chúng tôi khuyên Bên dự án nên xem xét các điểm sau khi thiết kế cơ chế hoàn tiền:
Lỗ hổng thứ hai là do một lỗi logic trong mã. Trong hàm trích xuất vốn dự án, có một câu lệnh điều kiện, vốn dĩ nên so sánh hai biến cụ thể, nhưng đã sử dụng nhầm một biến khác để so sánh. Điều này dẫn đến điều kiện không bao giờ được thỏa mãn, Bên dự án do đó không thể trích xuất vốn trong hợp đồng. Hiện tại, khoảng 34 triệu đô la tài sản bị khóa vĩnh viễn trong hợp đồng.
Sự kiện này một lần nữa làm nổi bật rằng ngay cả những dự án nổi tiếng cũng có thể xảy ra sai sót nghiêm trọng. Đội ngũ phát triển trong quá trình phát triển dự án cần phải viết đầy đủ các trường hợp thử nghiệm và xây dựng nhận thức an toàn cơ bản. Mặc dù trong lĩnh vực tài chính phi tập trung, kiểm toán an toàn đã trở thành một thực tiễn thông thường, nhưng trong các dự án tài sản số, giai đoạn này thường bị bỏ qua, cuối cùng dẫn đến thiệt hại lớn.
Sự kiện này nhắc nhở chúng ta rằng trong việc phát triển các dự án blockchain, bất kể quy mô của dự án như thế nào, đều cần phải coi trọng công việc kiểm toán an ninh để phòng ngừa các lỗ hổng có thể gây ra hậu quả nghiêm trọng. Đồng thời, nó cũng làm nổi bật tầm quan trọng của chi tiết trong việc phát triển hợp đồng thông minh, một lỗi nhỏ trong mã có thể dẫn đến thiệt hại hàng triệu đô la.