เมื่อเร็วๆ นี้ ผู้ใช้หลายรายรายงานว่ากระเป๋าเงินของพวกเขาโอนเงินโดยอัตโนมัติ แต่ทุกครั้งที่จำนวนเงินที่โอนคือ 0 USDT พวกเขาก็ตกใจมากและถามเราว่ากระเป๋าเงินของพวกเขาถูกขโมยหรือไม่
อันที่จริง นี่เป็นกลโกงที่พบบ่อยมาก โดยผู้โจมตีใช้ประโยชน์จากช่องโหว่โดยธรรมชาติของสัญญาโทเค็น EVM เพื่อทำการโอนที่เป็นอันตราย ไม่จำเป็นต้องตื่นตระหนก กระเป๋าเงินของคุณยังคงปลอดภัย เพียงแค่เพิกเฉย
ตัวอย่างเช่น หลังจากที่ผู้ใช้ A ส่ง 500 USDC ไปยัง B ในธุรกรรมปกติ หลังจากนั้นไม่นาน เขาจะได้รับ 0 USDC จาก C (แฮ็กเกอร์) และในขณะเดียวกัน ผู้ใช้ A เองก็จะโอน 0 USDC ไปยัง C โดยไม่สามารถควบคุมได้ในแฮชธุรกรรมเดียวกัน ทำให้เกิดการโอน 0 USDC
เหตุผลสำหรับเรื่องนี้คือ ฟังก์ชัน TransferFrom ของสัญญาโทเค็นไม่ได้บังคับให้จำนวนเงินที่อนุญาตให้โอนต้องมากกว่า 0 ดังนั้นจึงเป็นไปได้ที่จะเริ่มการโอน 0 USDC จากบัญชีผู้ใช้ใดๆ ไปยังบัญชีที่ไม่ได้รับอนุญาตโดยไม่ล้มเหลว ผู้โจมตีที่เป็นอันตรายใช้ประโยชน์จากเงื่อนไขนี้เพื่อเริ่มการดำเนินการ TransferFrom อย่างต่อเนื่องกับผู้ใช้ที่ใช้งานบนเชนเพื่อกระตุ้นให้เกิดเหตุการณ์การโอน
เหตุการณ์การโจมตีดังกล่าวมักปรากฏในทั้งเชน EVM และ TRON โปรดตรวจสอบที่อยู่การโอนที่ถูกต้องและคัดลอกอย่างระมัดระวังเพื่อหลีกเลี่ยงการสูญเสียทรัพย์สิน
ในขณะเดียวกัน OneKey กำลังดำเนินการออกแบบป้องกันการฉ้อโกงบางอย่างเพื่อหลีกเลี่ยงสแปมที่เป็นอันตรายและปกป้องคุณจากการฉ้อโกง
