Một công ty an ninh Blockchain gần đây đã phát hiện ra hai lỗ hổng nghiêm trọng trong hợp đồng của một sản phẩm số. Hai lỗ hổng này có thể gây ra tổn thất lớn cho người dùng và Bên dự án.
Lỗ hổng đầu tiên tồn tại trong hàm xử lý hoàn tiền. Hàm này sử dụng vòng lặp để hoàn tiền cho tất cả người dùng, nhưng nếu có hợp đồng xấu, điều này có thể dẫn đến toàn bộ quá trình hoàn tiền thất bại. Điều này có nghĩa là giao dịch hoàn tiền của tất cả người dùng có thể bị hủy bỏ. May mắn thay, lỗ hổng này chưa bị lợi dụng thực tế.
Để tránh các vấn đề tương tự, Bên dự án nên thực hiện các biện pháp sau trong việc thiết kế cơ chế hoàn tiền:
Hạn chế chỉ có người dùng tài khoản bên ngoài (EOA) mới có thể tham gia dự án
Sử dụng mã thông báo ERC20 (như WETH) thay thế tài sản gốc
Thiết kế một chức năng cho phép người dùng tự mình yêu cầu hoàn tiền, thay vì hoàn tiền hàng loạt.
Lỗ hổng thứ hai là một lỗi chương trình, xảy ra trong hàm rút tiền của dự án. Do một câu lệnh điều kiện được viết sai, dẫn đến bên dự án không thể rút tiền trong hợp đồng. Cụ thể, hàm đã so sánh sai biến, khiến điều kiện không bao giờ được thỏa mãn. Sai sót này đã dẫn đến việc hơn 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 phơi bày rằng ngay cả những dự án nổi tiếng cũng có thể xảy ra lỗi cơ bản. Nó nhấn mạnh tầm quan trọng của việc tiến hành kiểm tra đầy đủ và duy trì ý thức an toàn trong quá trình phát triển. Mặc dù trong lĩnh vực tài chính phi tập trung (DeFi), 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 kỹ thuật số, giai đoạn này dường như vẫn còn thiếu sót. Sự lơ là lần này đã dẫn đến tổn thất khổng lồ, làm nổi bật sự cần thiết phải chú trọng đến kiểm toán an toàn trong các dự án tài sản kỹ thuật số.
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.
Lỗ hổng hợp đồng trong bộ sưu tập kỹ thuật số khiến 34 triệu USD bị khóa, kiểm toán an ninh không thể chậm trễ.
Một công ty an ninh Blockchain gần đây đã phát hiện ra hai lỗ hổng nghiêm trọng trong hợp đồng của một sản phẩm số. Hai lỗ hổng này có thể gây ra tổn thất lớn cho người dùng và Bên dự án.
Lỗ hổng đầu tiên tồn tại trong hàm xử lý hoàn tiền. Hàm này sử dụng vòng lặp để hoàn tiền cho tất cả người dùng, nhưng nếu có hợp đồng xấu, điều này có thể dẫn đến toàn bộ quá trình hoàn tiền thất bại. Điều này có nghĩa là giao dịch hoàn tiền của tất cả người dùng có thể bị hủy bỏ. May mắn thay, lỗ hổng này chưa bị lợi dụng thực tế.
Để tránh các vấn đề tương tự, Bên dự án nên thực hiện các biện pháp sau trong việc thiết kế cơ chế hoàn tiền:
Lỗ hổng thứ hai là một lỗi chương trình, xảy ra trong hàm rút tiền của dự án. Do một câu lệnh điều kiện được viết sai, dẫn đến bên dự án không thể rút tiền trong hợp đồng. Cụ thể, hàm đã so sánh sai biến, khiến điều kiện không bao giờ được thỏa mãn. Sai sót này đã dẫn đến việc hơn 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 phơi bày rằng ngay cả những dự án nổi tiếng cũng có thể xảy ra lỗi cơ bản. Nó nhấn mạnh tầm quan trọng của việc tiến hành kiểm tra đầy đủ và duy trì ý thức an toàn trong quá trình phát triển. Mặc dù trong lĩnh vực tài chính phi tập trung (DeFi), 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 kỹ thuật số, giai đoạn này dường như vẫn còn thiếu sót. Sự lơ là lần này đã dẫn đến tổn thất khổng lồ, làm nổi bật sự cần thiết phải chú trọng đến kiểm toán an toàn trong các dự án tài sản kỹ thuật số.