นักพัฒนารายหนึ่งที่รู้จักกันในชื่อ Florent กู้คืนได้ประมาณ 1,003 ETH ซึ่งมีมูลค่าราว $2 ล้านตามราคาปัจจุบัน จากสัญญาไอซีโอเหรียญ HongCoin ในปี 2016 ที่เงินถูกติดค้างอยู่มาเป็นเวลาถึงเก้าปี การขายโทเค็นของ Ethereum ถูกออกแบบให้ทำการคืนเงินให้นักลงทุนอัตโนมัติหลังระดมทุนไม่ถึงเป้าหมาย แต่บั๊กของโปรแกรมทำให้ฟังก์ชันการคืนเงินไม่สามารถทำงานได้สำหรับผู้ถือที่มียอดคงเหลือสูงกว่าเคาน์เตอร์ส่วนกลางที่ถูกลดจนหมด Florent ใช้ประโยชน์จากช่องโหว่โอเวอร์โฟลว์ในฟังก์ชันแอดมินของสัญญา โดยทำงานร่วมกับทีม HongCoin เป็นเวลาประมาณหนึ่งสัปดาห์เพื่อปลดล็อกเงินให้แก่นักลงทุนเดิมจำนวน 48 ราย การกู้คืนครั้งนี้แสดงให้เห็นว่ายังมีช่องโหว่อัจฉริยะในยุคก่อน SafeMath ที่เกิดขึ้นตั้งแต่แรก ซึ่งยังคงตรึงมูลค่าไว้บนเชนอยู่
สัญญา HongCoin ซึ่งถูกเสนอในปี 2016 ในฐานะกองทุนการลงทุนที่ดำเนินงานโดยชุมชน มีระบบการคืนเงินที่ปฏิเสธผู้ถือโทเค็นรายใดก็ตามที่ยอดคงเหลือเกินตัวแปรเคาน์เตอร์ส่วนกลาง ช่วงเวลาหลายปีที่มีการคืนเงินแบบบางส่วนได้ลดตัวเคาน์เตอร์ลงเหลือ 356 ทำให้เพดานการคืนเงินรวมอยู่ที่ 3.56 ETH (ประมาณ $7,000) ขณะที่ผู้ถือส่วนใหญ่ยังคงถือจำนวนที่มากกว่ามาก
Florent บอกกับ The Block ว่าสัญญาถูกปรับใช้ด้วยเวอร์ชันเก่าของภาษาโปรแกรม Solidity ที่ไม่มีมาตรการป้องกันข้อผิดพลาดจากโอเวอร์โฟลว์ ในกรณีแบบนี้ ตัวเลขที่ไปถึงค่าที่สูงเพียงพอจะรีเซ็ตกลับเป็น 0 หรือ 1 ซึ่งต่อมาถูกแก้ไขด้วยไลบรารี SafeMath
นักพัฒนารายนี้พบทางหลบผ่านผ่านฟังก์ชันแอดมินของทีม ซึ่งเดิมถูกออกแบบมาเพื่อมินต์โทเค็นบอนด์สำหรับเหตุการณ์เฉพาะ การเรียกใช้ฟังก์ชันนี้ด้วยค่าป้อนเข้าที่แม่นยำทำให้ยอดคงเหลือของผู้ถือถูกรีเซ็ตเป็น 1 ทำให้เช็กการคืนเงินผ่านและปลดปล่อย ETH ที่ถูกล็อกไว้
ฟังก์ชันแอดมินถูกจำกัดไว้ที่วอลเล็ต multisig ของ HongCoin จึงไม่สามารถทำการใดๆ แบบฝ่ายเดียวได้ Florent ส่งอีเมลถึงทีม ตรวจสอบลำดับธุรกรรมบน Foundry mainnet fork และทีมได้ลงนามในธุรกรรมเพื่อปลดล็อก กระบวนการใช้เวลาประมาณหนึ่งสัปดาห์จากอีเมลเริ่มต้น ตามที่ Florent ระบุ
จากนักลงทุนเดิมจำนวน 48 รายที่ตอนนี้สามารถเรียกใช้เงินได้ 41 รายจำเป็นต้องใช้ประโยชน์จากการรีเซ็ตยอดคงเหลือ ส่วนอีก 7 รายมีจำนวนไม่มากพอที่จะคืนเงินได้โดยตรงผ่านฟังก์ชันที่มีอยู่ ทีมลงนามในธุรกรรม 41 รายการ หนึ่งรายการต่อผู้ถือที่ถูกบล็อก ครอบคลุม ETH ประมาณ 1,000 ที่ถูกตรึงอยู่จริงๆ
นักลงทุน 2 รายได้เรียกคืน ETH รวมกัน 96.5 ETH (ประมาณ $193,000) และส่งรางวัลแบบ whitehat ให้ Florent โดยสมัครใจ Florent บอกกับ The Block ว่าไม่มีค่าธรรมเนียม ส่วนแบ่ง หรือค่าคอมมิชชั่นใดๆ เข้ามา “นอกจากตัวทีมเองแล้ว ไม่มีใครที่มีแรงจูงใจจริงๆ จะไปขุดค้นสัญญาอย่างใกล้ชิดแบบนั้น” Florent กล่าว “ไม่มีข้อบกพร่องด้านความเป็นเจ้าของที่จะทำให้ใครไปขโมยเงินไปใช้เองได้ ดังนั้นสำหรับแฮกเกอร์ก็ไม่มีอะไรจะได้; ผลลัพธ์เดียวของการเอ็กซ์พลอยต์คือ ETH จะกลับไปยังนักลงทุนเดิม”
เมื่อวันอาทิตย์ที่ 24 พฤษภาคม Florent อธิบายว่ากู้คืนได้ 19.329 ETH ประมาณ $40,590 จากสัญญาเก่า 2 รายการ รายการแรกคือ ICO ที่ล้มเหลวในเดือนมกราคม 2018 ซึ่งมี 5.141 ETH ถูกเก็บไว้หลังฟังก์ชันคืนเงินสาธารณะที่ไม่เคยถูกเรียกใช้ รายการที่สองเกี่ยวข้องกับ atomic swap แบบหมดอายุ 7 รายการของผู้ใช้ Liquality Wallet รวมเป็น 14.190 ETH ซึ่ง Florent คืนเงินให้แทนผู้ใช้หลังจาก Liquality ปิดแอปของตนในปี 2024
Florent กล่าวว่าเมื่อเร็วๆ นี้เขาตั้งค่าโหนด Ethereum ที่โฮสต์เอง และสร้างเครื่องสแกนเพื่อระบุสัญญาที่ถือมากกว่า 100 ETH แล้วจึงไล่ตรวจสอบผู้สมัคร “สัญญาจำนวนมากเป็นสาขาของสัญญาอื่น ดังนั้นข้อบกพร่องหนึ่งอย่างจะเหมือนกันในสัญญาอื่นๆ ทั้งหมดภายในกลุ่ม” Florent กล่าว “อย่างไรก็ตาม กลุ่มใหญ่ที่เป็นที่รู้จักกันดีได้ถูกตรวจค้นไปอย่างค่อนข้างละเอียดแล้ว”
เมื่อถูกถามเกี่ยวกับความช่วยเหลือจาก AI Florent กล่าวว่าเขาใช้ Claude Code เพื่อเร่งการจัดเรียงและจัดกลุ่มสัญญา แต่พบข้อจำกัดในการวิเคราะห์สัญญาอัจฉริยะ “AI มักจะเอนเอียงจากข้อเท็จจริงที่ว่าสัญญานี้ยังไม่เคยถูกเจาะมาก่อน และคนก่อนหน้านี้หาทางผ่านไม่ได้ ... ดังนั้นมันจึงมักไปลงที่ 'อันนี้เจาะไม่ได้ ผมลองทุกอย่างแล้ว' ซึ่งมักไม่เป็นความจริง”
การกู้คืนครั้งนี้เกิดขึ้นท่ามกลางคลื่นของการเอ็กซ์พลอยต์ใน DeFi การโจมตีมีมูลค่ารวมหลายร้อยล้านดอลลาร์ในช่วงเดือนเมษายนเพียงเดือนเดียว โดยนำโดยการระบายเงินราว $293 ล้านที่ Kelp DAO ผู้ร่วมก่อตั้งของบริษัทความปลอดภัย OpenZeppelin เพิ่งกล่าวว่าเขามองว่า DeFi ทั้งหมดไม่ปลอดภัย การเอ็กซ์พลอยต์บางส่วนจบลงด้วยการกู้คืนแบบ whitehat หรือการคืนเงินโดยสมัครใจ เช่น การกู้คืนเกือบทั้งหมดหลังการเอ็กซ์พลอยต์ในปี 2023 ของ Euler Finance
“ช่วงนี้มีการกลับมาของแฮกเกอร์บนโปรโตคอลอย่างชัดเจน และ DeFi กำลังกลายเป็นพื้นที่ที่ซับซ้อนสำหรับการลงทุน” Florent กล่าว “ผมอยากเห็นการเคลื่อนไหวสวนทางของคนที่พยายามปกป้องสิ่งต่างๆ มากกว่าการเอ็กซ์พลอยต์ มันให้ความคุ้มค่าทางศีลธรรมมากกว่า และก็อาจให้ผลตอบแทนที่ดีได้ด้วย”
อะไรทำให้เงินในไอซีโอ HongCoin ติดล็อกอยู่นาน 9 ปี?
บั๊กของโปรแกรมในฟังก์ชันคืนเงินของสัญญา HongCoin ปี 2016 ปฏิเสธผู้ถือรายใดก็ตามที่ยอดคงเหลือโทเค็นเกินตัวแปรเคาน์เตอร์ส่วนกลาง การคืนเงินแบบบางส่วนในช่วงหลายปีทำให้ตัวเคาน์เตอร์ลดลงเหลือ 356 ส่งผลให้ไม่สามารถคืนเงินให้ผู้ถือที่มียอดคงเหลือมากกว่าได้ ขณะที่สัญญาไม่มีการป้องกันโอเวอร์โฟลว์ซึ่งเป็นมาตรฐานในเวอร์ชัน Solidity รุ่นหลังๆ
Florent ปลดล็อก ETH ที่ติดค้างได้อย่างไรโดยไม่ขโมยมัน?
Florent ระบุฟังก์ชันแอดมินที่เดิมตั้งใจไว้เพื่อมินต์โทเค็นบอนด์ เมื่อเรียกใช้ด้วยค่าป้อนเข้าที่เฉพาะเจาะจง เขาสามารถรีเซ็ตยอดคงเหลือของผู้ถือเป็น 1 ได้เนื่องจากช่องโหว่โอเวอร์โฟลว์ ทำให้การตรวจสอบการคืนเงินผ่านไปได้ ฟังก์ชันแอดมินต้องอาศัยลายเซ็นจากทีม HongCoin ดังนั้น Florent จึงประสานงานกับทีมเป็นเวลาประมาณหนึ่งสัปดาห์เพื่อดำเนินการธุรกรรมปลดล็อก 41 รายการสำหรับนักลงทุนที่ถูกบล็อก
Florent กู้คืน ETH จากสัญญาเก่าได้เท่าไหร่?
Florent กู้คืนได้ประมาณ 1,003 ETH (ราว $2 ล้าน) จากสัญญา HongCoin เมื่อวันอาทิตย์ที่ 24 พฤษภาคม เขาอธิบายว่าได้ปลดปล่อย ETH เพิ่มเติม 19.329 ETH (ประมาณ $40,590) จากสัญญาอีก 2 รายการ: ไอซีโอที่ล้มเหลวในเดือนมกราคม 2018 ที่มี 5.141 ETH และ atomic swaps ของ Liquality Wallet ที่หมดอายุแล้ว 7 รายการ รวมเป็น 14.190 ETH
news.related.news
Ethereum ทดสอบโมเดลการระดมทุนเพื่อสาธารณประโยชน์ ตั้งแต่ Gitcoin ไปจนถึง Protocol Guild
Standard Chartered ยังคงเป้าหมาย ETH มูลค่า $40,000 แม้ราคาลดลง 57%
การไหลออกของ Crypto ETF กดดันราคา Bitcoin และ Ethereum
Bitmine เข้าซื้อ 25,000 ETH ยอดถือครองรวมแตะ 10.9 พันล้านดอลลาร์
ผู้ถือที่ไม่ได้เคลื่อนไหวปลดปล่อย Bitcoin มูลค่า 7.6 พันล้านดอลลาร์ อายุ 5 ถึง 15 ปี ทั่วปี 2026