ทีม ElephantsLab ได้ทำการวิเคราะห์ Smart contracts ในโครงการ DeFi บน TRON และพบช่องโหว่หรือข้อบกพร่องในการออกแบบ ที่อนุญาตให้สามารถขโมยเงินทั้งหมดของผู้ที่มีปฏิสัมพันธ์กับมัน
ทีมงานอธิบายว่า ในโปรโตคอลประเภทนี้ที่ผู้ใช้จะต้องฝากและ stake โทเค็นเพื่อรับโทเค็นใหม่ โดยมี Fundamental parameter สองประการ:
Address_spender ซึ่งเป็นที่อยู่ของโทเค็นที่สร้างโดยโปรเจ็กต์
Uint256_value ซึ่งเป็น contract ที่ hold โทเค็น
โดยจากการวิจัยเชิงลึกที่ดำเนินการเกี่ยวกับ TRON blockchain แสดงให้เห็นว่า Smart contracts บางอย่างมีการเขียนเอาไว้ไม่ดี
bug ดังกล่าวนี้ช่วยให้สามารถถอนโทเค็นทั้งหมดออกจาก address ของผู้ใช้ได้จริง ดังนั้นแม้ว่าจะใส่ค่าใดค่าหนึ่งไว้ที่ส่วนท้าย แต่ก็สามารถเอาไปได้ทั้งหมด
ในการตรวจสอบความผิดปกติ ก่อนอื่นจำเป็นต้องตรวจสอบ value ที่ส่งคืนซึ่งต้องเป็น 0 หากส่งคืน value -1 โทเค็นจะตกอยู่ในอันตราย และเงินในกระเป๋าสตางค์อาจหายไปหมด
ช่องโหว่เหล่านี้พบได้ใน Smart contracts ของ Tether (USDT), TRON USDJ stablecoin และ Just (JST)
อย่างไรก็ตามทางด้าน CTO Tether Paolo Ardoino ได้ปฏิเสธว่ามันเป็นข้อผิดพลาด:
“มันไม่ใช่ bug เมื่อ Tether ที่ถูกสร้างบน Tron ไม่สามารถใช้งานร่วมกับ ERC20 ได้ 100% มันไม่ใช่ข้อบกพร่อง แต่เรากำลังดำเนินการสร้าง Wrapper เพื่อปรับข้อกำหนดให้สอดคล้องกับ ERC20”
อ้างอิง : LINK