รายงานระบุว่าการเรียก mintfCashPair() สองครั้งสร้างหนี้ fCash ขนาด 2^128 ก่อนการแปลงเป็น uint128 แบบไม่ปลอดภัยจะทำให้ค่านี้กลายเป็นศูนย์ในการประเมินหลักประกัน มี DAI ราว 69,257 เหรียญ และ USDC 1,650,824 เหรียญ ถูกย้ายออกจาก escrow จากนั้นถูกแลกเป็นประมาณ 689.2 ETH และฝากเข้า Tornado Cash เหตุการณ์นี้ตอกย้ำว่าสัญญา D...
เผยแพร่โดยแก้ไขด้วย GPT-5.6 Terraรูปภาพสร้างด้วย GPT Image 2
คำตอบการวิจัย

Create a landscape editorial hero image for this Studio Global article: How did an attacker exploit an unsafe uint128 downcast/integer-overflow flaw in Notional Finance’s legacy Ethereum V1 escrow contract on Sep. Article summary: The reported exploit abused a legacy V1 accounting path: the attacker created an fCash liability at the `2^128` boundary, then an unsafe cast to `uint128` truncated that liability to zero during free-collateral valuation. Topic tags: general, general web, user generated, government, documentation. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text,
รายงานเกี่ยวกับเหตุการณ์ของ Notional Finance ไม่ได้ชี้ไปที่ปัญหาหลักประกันขาดแบบทั่วไป แต่เป็นความคลาดเคลื่อนทางบัญชีในสัญญา escrow รุ่น V1: มีการสร้างหนี้ fCash ขนาดมหาศาลที่ขอบเขต 2^128 แล้วหนี้ดังกล่าวกลับถูกลดค่าเป็นศูนย์เมื่อโปรโตคอลแปลงค่าให้เป็น uint128 ระหว่างคำนวณหลักประกันคงเหลือ (free collateral) ผลคือ ณ จุดตรวจสำคัญ บัญชีอาจดูเหมือนไม่มีหนี้และมีสถานะเพียงพอสำหรับถอนสินทรัพย์ ทั้งที่ตามจริงไม่ควรถอนได้ 4
16
รายละเอียดเชิงเทคนิคนี้ยังเป็นการประกอบเหตุการณ์จากการติดตามข้อมูลบนเชนและรายงานของนักวิจัยความปลอดภัย ไม่ใช่รายงานชันสูตรเหตุการณ์อย่างเป็นทางการจากโปรโตคอล ความเคลื่อนไหวของเงินบนบล็อกเชนตรวจสอบได้ แต่ลำดับการเรียกฟังก์ชันทั้งหมด ผลกระทบเต็มรูปแบบ และสถานะการแก้ไข ยังไม่ได้รับการยืนยันในรายงานที่มีขณะนั้น 3
4
Notional V1 ใช้ fCash เพื่อแทนภาระเงินสดในอนาคต ตามสัญญาณเตือนสาธารณะของ CertiK ผู้โจมตีใช้ mintfCashPair() สองครั้งเพื่อสร้างหนี้ -2^128 จากนั้น ในขั้นตอนประเมิน free collateral มีรายงานว่าการแปลงค่าแบบไม่ปลอดภัยเป็น uint128 ตัดทอนค่านี้จนเหลือ 0 16
อธิบายให้เห็นภาพ: uint128 เป็นชนิดข้อมูลจำนวนเต็มไม่ติดลบที่เก็บได้เพียง 128 บิต หากนำค่าหนี้ที่มีเครื่องหมายและมีขนาดอยู่ตรงขอบเขตไปแปลงโดยไม่มีการตรวจสอบ ค่าที่ใช้ในการคำนวณอาจไม่สะท้อนหนี้เดิมอีกต่อไป
ลำดับการโจมตีที่นักวิจัยรายงานมีดังนี้
uint128 ที่ไม่ปลอดภัยด้วยเหตุนี้ ควรเข้าใจประเด็นนี้ว่าเป็นความล้มเหลวของ การแปลงชนิดข้อมูลให้แคบลงและ invariant ทางบัญชี มากกว่าจะเรียกว่า “integer overflow” แบบกว้าง ๆ ผลสำคัญตามที่รายงานคือ หนี้ติดลบถูกทำให้เป็นศูนย์พอดีในเส้นทางประเมินมูลค่าที่ควรป้องกันการถอนเงินของบัญชีที่มีหลักประกันไม่พอ 4
16
การติดตามบนเชนระบุความเสียหายราว 69,257 DAI และ 1,650,824 USDC หรือรวมประมาณ 1.728 ล้านดอลลาร์สหรัฐ โดยสินทรัพย์ถูกแลกเป็นราว 689.2 ETH ก่อนถูกฝากเข้า Tornado Cash 2
15
สัญญาที่ถูกระบุในรายงานคือ Notional Finance escrow ที่ адрес 0x9abd0b8868546105F6F48298eaDC1D9c82f7f683 รายงานหนึ่งระบุว่ามีธุรกรรมเตรียมการจากแอดเดรสที่ลงท้าย Ce38 เวลา 23:58:47 น. UTC ของวันที่ 3 กันยายน 2026 และตามด้วยธุรกรรมถอนสินทรัพย์ราว 3 นาทีต่อมา ในช่วงต้นวันที่ 4 กันยายน 17
23
นักวิจัยเชื่อมโยง Ethereum address สองรายการเข้ากับการเคลื่อนย้ายสินทรัพย์ ได้แก่
0xC954…De690xDaCC…Ce38การระบุดังกล่าวเป็นเพียงการเชื่อมโยงจากการสืบสวนธุรกรรมบนเชน ไม่ใช่การยืนยันตัวบุคคล องค์กร หรือผู้ควบคุมกระเป๋าเงินรายสุดท้าย 11
การแลก DAI และ USDC เป็น ETH เปลี่ยนลักษณะของการติดตามเงินที่ถูกนำออกไป ธุรกรรม stablecoin เดิมติดตามได้อย่างชัดเจนบน Ethereum แต่หลังแปลงเป็น ETH สินทรัพย์จะเคลื่อนผ่านเส้นทางใหม่ และการฝากเข้า Tornado Cash เพิ่มชั้นความเป็นส่วนตัวเพื่อทำให้ความเชื่อมโยงระหว่างต้นทาง ปลายทาง และคู่ธุรกรรมคลุมเครือขึ้น 2
29
นั่นไม่ได้หมายความว่าการวิเคราะห์บล็อกเชนเป็นไปไม่ได้ หรือพิสูจน์ได้ว่าใครควบคุมการถอนในภายหลัง แต่เส้นทางตรงจาก escrow ที่ถูกโจมตีไปยังผู้รับเงินในภายหลังจะซับซ้อนขึ้นอย่างมากเมื่อเงินเข้าสู่บริการผสมเหรียญดังกล่าว 29
ณ เวลาที่มีรายงาน Notional ยังไม่ได้ออกแถลงการณ์ตอบสนองต่อเหตุการณ์ต่อสาธารณะ จึงยังมีคำถามสำคัญที่เปิดอยู่ ได้แก่
ดังนั้น คำอธิบายสาเหตุที่รายงานควรถูกมองว่าเป็นการวิเคราะห์เบื้องต้นที่มีน้ำหนัก ไม่ใช่สิ่งทดแทนรายงานตรวจสอบอย่างเป็นทางการหรือ post-mortem ที่ผ่านการตรวจทาน
สัญญาเก่าไม่ได้ปลอดภัยเพียงเพราะไม่ใช่แกนกลางของผลิตภัณฑ์แล้ว หากยังเก็บรักษาสินทรัพย์ หรือยังเชื่อมต่อกับการสร้างสินทรัพย์ การชำระบัญชี การคำนวณหลักประกัน หรือการถอนเงิน สัญญานั้นยังเป็นพื้นผิวโจมตีทางการเงินที่ใช้งานจริง
สำหรับทีมพัฒนาโปรโตคอล เหตุการณ์ที่รายงานเกี่ยวกับ Notional V1 ชี้ให้เห็นการควบคุมที่ควรตรวจสอบร่วมกัน ได้แก่
2^128ภาพใหญ่ของ DeFi ยังคงเหมือนเดิม: ข้อบกพร่องเล็กน้อยด้านการแทนค่า หรือการกำหนดสิทธิ์ อาจขยายเป็นความเสียหายทั้งหมดได้เมื่อเชื่อมถึงเส้นทางถอนสินทรัพย์ที่มีสภาพคล่อง การป้องกันจึงไม่ใช่แค่ตรวจสอบแต่ละฟังก์ชันแยกกัน แต่ต้องพิสูจน์ว่า invariant ทางบัญชียังคงอยู่ในทุกลำดับการเรียกที่เป็นไปได้
Studio Global AI
หน้านี้รวมคำตอบที่ได้รับการสนับสนุนจากแหล่งที่มาซึ่งคุณสามารถดำเนินการต่อภายใน Studio Global
รายงานระบุว่าการเรียก mintfCashPair() สองครั้งสร้างหนี้ fCash ขนาด 2^128 ก่อนการแปลงเป็น uint128 แบบไม่ปลอดภัยจะทำให้ค่านี้กลายเป็นศูนย์ในการประเมินหลักประกัน
รายงานระบุว่าการเรียก mintfCashPair() สองครั้งสร้างหนี้ fCash ขนาด 2^128 ก่อนการแปลงเป็น uint128 แบบไม่ปลอดภัยจะทำให้ค่านี้กลายเป็นศูนย์ในการประเมินหลักประกัน มี DAI ราว 69,257 เหรียญ และ USDC 1,650,824 เหรียญ ถูกย้ายออกจาก escrow จากนั้นถูกแลกเป็นประมาณ 689.2 ETH และฝากเข้า Tornado Cash
เหตุการณ์นี้ตอกย้ำว่าสัญญา DeFi รุ่นเก่าที่ยังถือสินทรัพย์อยู่ยังเป็นจุดเสี่ยงจริง โดยเฉพาะเมื่อการคำนวณหนี้ การชำระบัญชี และการถอนเงินเชื่อมต่อกัน