เมื่อวันที่ 2 เมษายน 2022 การตรวจสอบความคิดเห็นของประชาชนเกี่ยวกับแพลตฟอร์มการรับรู้สถานการณ์ด้านความปลอดภัยของ Chengdu Lianan Chain Bing-blockchain แสดงให้เห็นว่าโครงการ Inverse Finance ถูกโจมตี และคาดว่าจะสูญเสียสะสมประมาณ 15 ล้านดอลลาร์สหรัฐ ทีมเทคนิคของเฉิงตูเหลียนอันได้ทำการวิเคราะห์เหตุการณ์ที่เกี่ยวข้องเป็นครั้งแรก
#1 มีการวิเคราะห์ดังนี้
ที่อยู่โจมตี 1:
0x117c0391b3483e32aa665b5ecb2cc539669ea7e9
ที่อยู่โจมตี 2:
0x8b4c1083cd6aef062298e1fa900df9832c8351b3
แฮชธุรกรรมการโจมตี:
0x20a6dcff06a791a7f8be9f423053ce8caee3f9eecc31df32445fc98d4ccd8365
0x600373f67521324c8068cfd025f121a0843d57ec813411661b07edc5ff781842
สัญญาการโจมตี:
0xea0c959bbb7476ddd6cd4204bdee82b790aa1562
ขั้นแรก ผู้โจมตีถอน 900 ETH จาก Tornado.Cash เพื่อเตรียมพร้อมสำหรับการขึ้นราคาของโทเค็น INV
ผู้โจมตีใช้ 300 ETH เพื่อแลกเปลี่ยนโทเค็น INV 374 รายการ จากนั้นแลกเปลี่ยน 200 ETH เป็นโทเค็น 1372 INV และแลกเปลี่ยนโทเค็น INV ทั้งหมด 1746 รายการ ที่นี่เราจะพบว่ากลุ่มแรกแลกเปลี่ยนโทเค็น INV 374 รายการกับ 300 ETH INV เท่านั้น แต่หลังจากนั้น แลกเปลี่ยน 200 ETH เป็นโทเค็น 1372 INV และราคาของ INV ในกลุ่มแรก WETH/INV เพิ่มขึ้นอย่างมาก

เมื่อคำนวณราคาของโทเค็น Xinv ให้ใช้คู่ WETH/INV (0x328dfd0139e26cb0fef7b0742b49b0fe4325f821) ในการคำนวณ เนื่องจากกลุ่มคู่ได้รับการจัดการและช่วงเวลาเวลาที่ผ่านไปสั้น ผู้โจมตีจำเป็นต้องพอใจที่การโทรไม่ได้อยู่ในบล็อกปัจจุบัน และสามารถใช้ราคาที่ปรับเปลี่ยนได้ และสามารถปรับเปลี่ยนค่าของโทเค็น xINV ได้
จะเห็นได้ว่าหลังจากการโจมตีจัดการทั้งคู่ มันยังคงส่งธุรกรรมเหรียญกษาปณ์เพื่อให้แน่ใจว่าจะสามารถใช้กรอบเวลาให้เกิดประโยชน์สูงสุด ในเวลาเดียวกัน ผู้โจมตีได้หลีกเลี่ยงบล็อกการจัดการราคาอย่างชาญฉลาด (14506358) เพื่อมิ้นต์ มิฉะนั้นบล็อกก่อนหน้าของบล็อกการจัดการราคาจะถูกใช้ในการคำนวณราคา

จากนั้นผู้โจมตีจะขุดโทเค็น INV 1746 ทั้งหมดที่เขาถืออยู่โดยตรง (นี่คือการจำนอง) เพื่อแลกกับโทเค็น xINV 1156 อัน (โทเค็น LP) จากนั้นจึงยืมโทเค็นจำนวนมากโดยอาศัย xINV ที่เขาถืออยู่

การสูญเสียสะสมของฝ่ายโครงการการเงินผกผันคาดว่าจะอยู่ที่ประมาณ 15 ล้านดอลลาร์สหรัฐ
ที่นี่ Chengdu Lianan แนะนำให้ฝ่ายโครงการใช้กรอบเวลาที่นานเพียงพอ ตัวอย่างเช่น คุณสามารถอ้างถึงโค้ดตัวอย่าง Uniswap ต่อไปนี้ timeElapsed ต้องมากกว่า 24 ชั่วโมง



