เมื่อต้นเดือนนี้ (1 เมษายน) Jay Chou นักร้อง-นักแสดงชื่อดังจากไต้หวัน ประกาศว่า NFT ภาพ Bored Ape Yacht Club (BAYC) ที่เขาซื้อเก็บสะสมไว้ถูกขโมยไป โดยคาดว่าเป็นการโจมตีแบบ phishing
หลังจากนั้น บริษัทความปลอดภัย Check Point Research เข้าไปตรวจสอบและพบว่าช่องทางการขโมย NFT ของ Jay Chou เกิดจากช่องโหว่ของตลาดซื้อขาย Rarible ที่ Chou ใช้บริการ ทำให้แฮ็กเกอร์สามารถใช้ช่องโหว่นี้หลอกทำ phishing แล้วขโมย token สิทธิความเป็นเจ้าของได้
ช่องโหว่นี้เกิดจากสเปกของ NFT ที่มีชื่อทางเทคนิคว่า EIP-271 มีฟังก์ชันชื่อ setApprovalForAll อนุญาตให้บุคคลอื่น (เช่น ตลาดซื้อขายแบบ Rarible หรือ OpenSea) เข้ามาควบคุม NFT ทั้งหมดในความครอบครองของผู้ใช้ เพื่อความสะดวกในการซื้อขายผ่านแพลตฟอร์มอีกที (ผู้ใช้ไม่ต้องส่งคำสั่งไปยังเชนโดยตรง)
ปัญหาเกิดจาก Rarible เขียนระบบตรวจสอบไฟล์ที่อัพโหลดไปสร้าง NFT ไว้ไม่ดีพอ ทำให้แฮ็กเกอร์สามารถยัดไส้โค้ด JavaScript เข้าไปในไฟล์ได้ ซึ่ง Check Point ลองอัพโหลดไฟล์ SVG ที่ยัดไส้โค้ดประสงค์ร้ายเอาไว้ พบว่าสามารถทำงานได้อย่างไม่มีปัญหา
เมื่อผู้ใช้คลิกลิงก์ของ Rarible ที่อัพโหลดไฟล์ประสงค์ร้าย โค้ดของ Check Point จะทำงาน เช็คดูว่าผู้ใช้มี NFT ใดในครอบครองบ้าง และส่งคำสั่ง setApprovalForAll เพื่อเข้าควบคุม NFT ของผู้ใช้ได้ทันที
ในกรณีของ Jay Chou แฮ็กเกอร์เพียงหลอกให้ Chou คลิกลิงก์เท่านั้น จากนั้นครอบครอง NFT แล้วนำไปขายต่อในราคา 5 แสนดอลลาร์ได้สำเร็จ
ที่มา - Check Point Research via The Register, ภาพจาก Facebook Jay Chou