สรุปสั้น
Polymarket คือ ตลาดทำนายผลเหตุการณ์ที่ซื้อขายด้วยคริปโตบนบล็อกเชน เมื่อ 29 ตุลาคม 2569 Polymarket หยุดการเทรดบนแพลตฟอร์มนานาชาติ Polymarket.com หลังผู้ใช้รายงานการถอนเงินที่ตนไม่ได้ทำ บริษัทระบุว่าผู้ให้บริการภายนอกรายหนึ่งถูกเจาะ แจ้งเจ้าหน้าที่แล้ว และจะชดใช้ผู้ได้รับผลกระทบทุกราย บริษัทความปลอดภัย Hudson Rock และ GoPlus โยงเหตุนี้กับโค้ดอันตรายที่ส่งมาจาก DebugBear บริษัทวัดประสิทธิภาพเว็บไซต์ในอังกฤษ ซึ่งยืนยันว่ากำลังเผชิญเหตุความปลอดภัยและขอให้ลูกค้าถอดสคริปต์ของตนออก
สคริปต์ที่ถูกแก้ไม่ได้ขโมยรหัสผ่านหรือ seed phrase แต่ใช้สิทธิ์ที่ผู้ใช้ล็อกอินค้างไว้ในเบราว์เซอร์ขายสถานะการเดิมพันแล้วโอนเงิน หรือโอนโทเคนออกไปยังที่อยู่ของผู้โจมตีโดยตรง ความเสียหายยังไม่มีตัวเลขยืนยัน การประเมินอยู่ระหว่าง 2.19 ถึง 2.71 ล้านดอลลาร์ เหตุนี้เป็นตัวอย่างล่าสุดของความเสี่ยงจากสคริปต์ภายนอกที่ฝังในเว็บแอปการเงิน เว็บไซต์ที่ใช้บริการ real user monitoring ของ DebugBear ควรถอดสคริปต์ออกจนกว่าบริษัทจะยืนยันว่าปลอดภัย
รายละเอียดข่าว
เว็บไซต์ SecurityWeek รายงานเมื่อวันที่ 30 ตุลาคม 2569 ว่า หน้าสถานะของ Polymarket ระบุว่าตลาดถูกสลับเป็นโหมดยกเลิกคำสั่งได้อย่างเดียว (cancel-only) และระงับการทำงานของ relayer ก่อนเปิดเทรดอีกครั้งราวหนึ่งชั่วโมงต่อมา บริษัทไม่ได้ระบุชื่อผู้ให้บริการที่ถูกเจาะหรือยอดความเสียหาย และมีรายงานว่าแพลตฟอร์มสำหรับสหรัฐฯ ไม่ได้รับผลกระทบ Hudson Rock ได้สำเนาโค้ด JavaScript อันตรายจากที่อยู่ของ DebugBear ที่ Polymarket เรียกใช้ และพบ build ใช้งานจริงของ Polymarket ประทับเวลา 17:59 UTC ที่มีบันทึกการเปลี่ยนแปลงว่าถอดสคริปต์ DebugBear ออก ด้าน DebugBear ยืนยันว่าได้รับผลจากเหตุความปลอดภัยที่ยังดำเนินอยู่ ขอให้ผู้ใช้ผลิตภัณฑ์ real user monitoring (RUM) ถอดสคริปต์ออกจากเว็บไซต์ และนำทีมตอบสนองเหตุผู้เชี่ยวชาญเข้ามาแล้ว
ตัวเลขความเสียหายจากแต่ละแหล่งไม่ตรงกัน Hudson Rock เห็นภาพหน้าจอที่แสดงเงินราว 2.19 ล้านดอลลาร์ในที่อยู่สำรองที่ฝังไว้ในสคริปต์ แต่ระบุว่าไม่ใช่ยอดที่ยืนยัน ขณะที่ GoPlus ซึ่งโยงเหตุกับสคริปต์ RUM ของ DebugBear เช่นกัน ประเมินจากข้อมูลบนเชนไว้ราว 2.71 ล้านดอลลาร์ เส้นทางหลักผ่านกระเป๋ารับฝาก 710 กระเป๋าและที่อยู่ 731 ที่อยู่ ส่วนข้อมูลของ Arkham แสดงว่ากระเป๋าที่ต้องสงสัยว่าเป็นของผู้โจมตีถือเงินราว 2.65 ล้านดอลลาร์ ซึ่งเป็นที่อยู่เดียวกับที่ฝังในสคริปต์ เหตุนี้เกิดวันเดียวกับที่ Binance ถูกขโมยคริปโตราว 6 พันล้านดอลลาร์ (ดูข่าว 2026/10/340 ) และเมื่อมิถุนายน Polymarket เคยเปิดเผยเหตุผู้ให้บริการภายนอกถูกเจาะแล้วมีสคริปต์อันตรายถูกใส่ใน frontend มาแล้วครั้งหนึ่ง ความเสียหายราว 3 ล้านดอลลาร์
ข้อจำกัดของหลักฐานในข่าวนี้มีหลายข้อ ดังนี้
- Polymarket ไม่ได้ระบุชื่อผู้ให้บริการ — การโยงกับ DebugBear มาจาก Hudson Rock และ GoPlus แม้ DebugBear จะยืนยันว่ามีเหตุความปลอดภัย
- ยอดเสียหายยังไม่ยืนยัน — ตัวเลข 2.19, 2.65 และ 2.71 ล้านดอลลาร์มาจากวิธีนับต่างกัน และจำนวนที่อยู่ไม่เท่ากับจำนวนผู้เสียหาย
- ไม่รู้ว่าสคริปต์ถูกแก้อย่างไร — Hudson Rock ยังระบุไม่ได้ว่า DebugBear ถูกเจาะผ่านช่องทางใด และมีผู้ใช้โดนกี่ราย
- ยังไม่พบลูกค้ารายอื่นถูกเล็ง — ผลของ Hudson Rock ไม่ได้ชี้ว่าเว็บไซต์อื่นที่ใช้ DebugBear ถูกโจมตีด้วย
อัปเดต 2 พ.ย. 2569: ต้นเหตุ คือ DNS ของ DebugBear ถูกยึดผ่านผู้ให้บริการจดโดเมน และ Polymarket คืนเงิน 3.9 ล้านดอลลาร์
อัปเดต 2 พ.ย. 2569: เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 1 พฤศจิกายน 2569 ว่า DebugBear ชี้แจงผ่าน X ว่าระเบียน DNS ของบริษัทถูกเจาะผ่านผู้ให้บริการจดโดเมน (registrar) ผลตรวจเบื้องต้นชี้ว่าการโจมตีเล็งเว็บไซต์ของลูกค้าเพียงรายเดียว และยังไม่พบสัญญาณว่าระบบของ DebugBear เองถูกเจาะ แม้การตรวจยังไม่จบ นักวิจัยของ Ohey พบว่าเวลา 18:13 UTC วันที่ 29 ตุลาคม มีเซิร์ฟเวอร์อื่นตอบแทนชื่อโดเมนของ DebugBear ขณะที่ช่วงเช้าวันเดียวกันสคริปต์ปกติยังส่งจาก Google Cloud Storage ลูกค้าแต่ละรายของ DebugBear โหลดสคริปต์สำเนาของตัวเอง และไฟล์ที่ถูกสลับ คือ ของ Polymarket ส่วนโดเมน cdn.debugbear[.]com ที่ส่งไฟล์อันตรายไม่มีระเบียน DNS แล้วเมื่อวันที่ 1 พฤศจิกายน
ด้านไทม์ไลน์บนเชน Ohey พบว่ากระเป๋าผู้โจมตีที่ฝังในสคริปต์ได้รับเงินครั้งแรกเวลา 17:10 UTC และครั้งสุดท้ายเวลา 18:02 UTC รวบรวมโทเคน POL ได้ 28.6 ล้านหน่วยและสถานะการเดิมพันจาก 33 กระเป๋า DefiPrime คำนวณว่า POL ก้อนนี้มีมูลค่าราว 2.64 ล้านดอลลาร์ ณ เวลา 18:19 UTC (ยังไม่รวมมูลค่าสถานะการเดิมพัน) จากนั้นเวลา 18:28–18:38 UTC POL ทั้งหมดถูกส่งต่อไปยังอีก 3 ที่อยู่ ฝั่ง Polymarket ประกาศเหตุครั้งแรกเวลา 17:38 UTC และเข้าโหมดยกเลิกคำสั่งได้อย่างเดียวพร้อมพัก relayer เวลา 18:05 UTC บริษัทระบุว่าถอดสคริปต์ออกภายใน 1 ชั่วโมง ล้างแคชทั้งหมด รีเซ็ตเซสชันล็อกอินทุกราย และส่งเรื่องให้เจ้าหน้าที่บังคับใช้กฎหมายแล้ว
เรื่องการชดใช้ Polymarket คืนเงินราว 2.7 ล้านดอลลาร์ให้ 726 กระเป๋าที่ได้รับผลกระทบ ถึงวันที่ 30 ตุลาคมคืนเต็มจำนวนแล้ว 689 กระเป๋า ส่วนอีก 37 กระเป๋าทยอยจ่ายหลังตรวจสอบ บริษัทยังจ่ายอีก 1.19 ล้านดอลลาร์ให้ราว 5,500 กระเป๋าที่ขาดทุนระหว่างพักการเทรดหรือถูกยึดสถานะ รวมคืนเงินทั้งหมด 3.9 ล้านดอลลาร์ โดยผู้เทรดไม่ต้องยื่นคำร้อง Polymarket ระบุว่าจะนำสคริปต์ภายนอกกลับมาใช้พร้อมมาตรการเพิ่ม เช่น Content Security Policy ที่เข้มขึ้น การล็อกเวอร์ชัน และ sandboxing ส่วน Hudson Rock แนะนำให้ใช้ Subresource Integrity (SRI) กับไฟล์ที่ล็อกเวอร์ชันได้ เพราะ CSP ที่อนุญาต CDN ที่เชื่อถือไม่ได้ตรวจเนื้อหาไฟล์ที่ CDN นั้นส่งมา
วิธีการโจมตี
เจาะผู้ให้บริการแทนเจาะเป้าหมาย — DebugBear ให้บริการ real user monitoring ซึ่งลูกค้าฝังสคริปต์ JavaScript ในหน้าเว็บเพื่อวัดความเร็วที่ผู้ใช้จริงเห็น สคริปต์นี้โหลดจากเซิร์ฟเวอร์ของ DebugBear และทำงานในหน้าเว็บของลูกค้าด้วยสิทธิ์เดียวกับโค้ดของเว็บเอง เมื่อผู้โจมตีแก้สคริปต์ต้นทางได้ โค้ดอันตรายจึงทำงานบน Polymarket ทันทีโดยไม่ต้องเจาะ Polymarket โดยตรง
ใช้สิทธิ์ที่ผู้ใช้มีอยู่แล้ว — Hudson Rock วิเคราะห์ว่าโค้ดค้นหาเครื่องมือเทรดและพอร์ตของผู้ใช้ที่ล็อกอินอยู่ จากนั้นแยกตามประเภทบัญชี บางกรณีขายสถานะการเดิมพันแล้วย้ายเงินที่ได้ บางกรณีส่งโทเคนของสถานะไปยังที่อยู่ที่ผู้โจมตีตั้งไว้ตรง ๆ Hudson Rock ระบุว่าโค้ดอ่านข้อมูลที่เกี่ยวกับ credential ได้ แต่ไม่พบส่วนที่ส่งรหัสผ่าน seed phrase หรือ private key ออกไป แนวทางหลัก คือ การใช้อำนาจที่มีอยู่แล้วในแอปที่ยืนยันตัวตนแล้ว วิธีนี้ได้ผลเพราะธุรกรรมดูเหมือนผู้ใช้สั่งเองจากเซสชันจริง
ปลายทางเงิน — สคริปต์มีที่อยู่สำรองฝังไว้เป็นผู้รับเงิน ซึ่งตรงกับกระเป๋าที่ Arkham ระบุว่าถือเงินราว 2.65 ล้านดอลลาร์
ผลกระทบ
กลุ่มที่โดนโดยตรง คือ ผู้เทรดบน Polymarket.com ที่ล็อกอินอยู่ระหว่างที่สคริปต์อันตรายทำงาน ซึ่งเสียสถานะการเดิมพันหรือเงินรวมกันราว 2.2–2.7 ล้านดอลลาร์ Polymarket สัญญาว่าจะชดใช้ทุกราย แต่การถูกเจาะผ่านผู้ให้บริการภายนอกเป็นครั้งที่สองในปีเดียวกันกระทบความเชื่อมั่นของแพลตฟอร์ม
กลุ่มที่เสี่ยงทางอ้อม คือ เว็บไซต์อื่นทั้งหมดที่ฝังสคริปต์ RUM ของ DebugBear แม้ยังไม่พบหลักฐานว่าถูกเล็ง และในภาพกว้าง เหตุนี้ยืนยันว่าสคริปต์วิเคราะห์ วัดผล หรือแชตที่โหลดจากผู้ให้บริการภายนอก คือ จุดอ่อนของเว็บแอปการเงินและคริปโต เพราะสคริปต์เหล่านี้ทำงานด้วยสิทธิ์เต็มของหน้าเว็บ และผู้ให้บริการรายเล็กเพียงรายเดียวกลายเป็นทางเข้าสู่ลูกค้าทุกราย
คำแนะนำ
- ถอดสคริปต์ DebugBear RUM ทันที — เว็บไซต์ที่ใช้บริการนี้ควรถอดสคริปต์ออกตามคำแนะนำของ DebugBear จนกว่าบริษัทจะยืนยันว่าปลอดภัย
- ผู้ใช้ Polymarket ตรวจประวัติธุรกรรม — ไล่ดูการขายสถานะหรือการโอนโทเคนช่วง 29 ตุลาคมที่ไม่ได้ทำเอง และติดต่อ Polymarket เพื่อขอชดใช้
- ไล่บัญชีสคริปต์ภายนอกทั้งหมด — สำรวจว่าหน้าเว็บโหลด JavaScript จากผู้ให้บริการรายใดบ้าง โดยเฉพาะในหน้าที่ผู้ใช้ล็อกอินหรือทำธุรกรรม และถอดสคริปต์ที่ไม่จำเป็น
- ใช้ Subresource Integrity หรือโฮสต์เอง — สำหรับสคริปต์ที่ไม่เปลี่ยนบ่อย ให้ใส่ค่า
integrityเพื่อให้เบราว์เซอร์ปฏิเสธไฟล์ที่ถูกแก้ หรือดาวน์โหลดมาโฮสต์บนเซิร์ฟเวอร์ของตนเองหลังตรวจแล้ว - บังคับ Content Security Policy — จำกัดโดเมนที่สคริปต์โหลดได้และปลายทางที่สคริปต์ส่งข้อมูลไปได้
- แยกสคริปต์วัดผลออกจากหน้าธุรกรรม — แพลตฟอร์มการเงินไม่ควรโหลดสคริปต์ภายนอกในหน้าที่ลงนามหรืออนุมัติธุรกรรม และควรให้ผู้ใช้ยืนยันซ้ำก่อนโอนออก
แหล่งอ้างอิง
- $2 Million+ Drained From Polymarket Traders in New Supply Chain Attack — SecurityWeek
- Polymarket Breach Alert: Wallet-Draining Code Found in a Third-Party Script — Hudson Rock (Infostealers)
- Polymarket Pauses Trading After Prediction Market Security Incident — Decrypt
- Hackers Steal About $2.7 Million From Polymarket Traders via Hijacked DebugBear Script — The Hacker News
- Polymarket DebugBear wallet drainer — Ohey Research
