การโจมตี NPM ครั้งใหญ่จบลงด้วยเงินถูกขโมยไปเพียง 159 ดอลลาร์

เหตุใดหนึ่งในการโจมตี NPM ที่อันตรายที่สุดจึงจบลงด้วยการถูกขโมยเพียง 159 ดอลลาร์
9 กันยายน 2568
~2 นาทีในการอ่าน

เมื่อต้นเดือนกันยายน 2025 โลกของ JavaScript ต้องเผชิญกับการโจมตีที่อันตรายที่สุดครั้งหนึ่งในรอบหลายปี แฮกเกอร์ได้เข้าถึงบัญชีของนักพัฒนาที่มีชื่อเสียงและอัปโหลดเวอร์ชันใหม่ของแพ็กเกจพื้นฐานขึ้นไปบน NPM โดยมีโค้ดอันตรูปซ่อนอยู่ แพ็กเกจเหล่านี้ถูกใช้นับพันล้านครั้งทุกสัปดาห์ และการโจมตีครั้งนี้อาจนำไปสู่การโจรกรรมครั้งใหญ่จากผู้ใช้บริการคริปโตเคอร์เรนซี

โชคดีที่ด้วยความผิดพลาดของแฮกเกอร์และการตอบสนองที่รวดเร็วจากชุมชน ความเสียหายจึงน้อยมาก ทีมบรรณาธิการ Quickex ได้สร้างลำดับเหตุการณ์ขึ้นใหม่และอธิบายว่าทำไมทุกอย่างจึงจบลงอย่างไม่รุนแรงนัก

ติดตามว่า ราคาบิตคอยน์ ตอบสนองต่อความผันผวนของตลาดอย่างไรกับ Quickex

เหตุการณ์โจมตีดำเนินไปอย่างไร

ผู้ที่ รายงาน เหตุการณ์ครั้งแรกในค่ำวันที่ 8 กันยายนคือ Charles Guillaume CTO ของ Ledger เขาเตือนว่าบัญชีของนักพัฒนาที่มีชื่อเสียงถูกแฮก และเวอร์ชันที่ติดไวรัสของเครื่องมืออย่าง chalk, debug, ansi-styles และ strip-ansi ได้ถูกอัปโหลดขึ้นไปบน NPM แพ็กเกจเหล่านี้เป็นส่วนสำคัญของเว็บแอปส่วนใหญ่ การติดเชื้อครั้งนี้จึงเป็นภัยต่อทั้งระบบนิเวศ

ต่อมาพบว่าแฮกเกอร์ได้เข้าถึงบัญชีผ่านอีเมลฟิชชิงที่ปลอมเป็นข้อความจากฝ่ายสนับสนุน NPM และนำไปยังหน้าล็อกอินปลอม

NPM (Node Package Manager) เป็นแคตตาล็อกแพ็กเกจ JavaScript ที่ใหญ่ที่สุด ซึ่งนักพัฒนาสามารถเผยแพร่และดาวน์โหลดโมดูลโค้ดสำเร็จรูป ตัวอย่างเช่น chalk ใช้สำหรับจัดรูปแบบข้อความสี debug ใช้สำหรับบันทึก และ ansi-styles และ strip-ansi ใช้สำหรับการทำงานกับอักขระในคอนโซล เมื่อผู้ไม่หวังดีปล่อยเวอร์ชันใหม่ พวกมันจะถูกติดตั้งลงในโปรเจกต์โดยอัตโนมัติหากนักพัฒนาไม่ได้กำหนดเวอร์ชันเก่าไว้

เมื่อข่าวการโจมตีแพร่กระจาย โปรเจกต์คริปโตต่าง ๆ รีบโพสต์ในโซเชียลมีเดียเพื่อยืนยันว่าเหตุการณ์นี้ไม่ส่งผลกระทบต่อพวกเขา

โค้ดอันตรายทำงานอย่างไร

โปรแกรมที่แฝงมาทำงานเหมือน crypto-clipper — การโจมตีที่แทนที่ที่อยู่กระเป๋าเงินในธุรกรรม ผู้ใช้คิดว่ากำลังโอนเงินเข้าบัญชีของตนเองหรือเพื่อน แต่จริง ๆ แล้วเงินไปที่ที่อยู่ของผู้โจมตี

StarPlatinum ได้อธิบายกลไกโดยละเอียด โดยเขากล่าวว่าโค้ดมีสองโหมด

  1. ในโหมด “พาสซีฟ” มันจะแทนที่ที่อยู่โดยตรงในอินเทอร์เฟซของแอปพลิเคชัน
  2. ในโหมด “แอคทีฟ” มันจะดักธุรกรรมก่อนการลงนามและเปลี่ยนรายละเอียดปลายทาง

เพื่อปกปิดตัวเอง มันใช้ขั้นตอนวิธี Levenshtein เพื่อเลือกสตริงที่ใกล้เคียงที่สุด: ตัวอักษรแรกและตัวสุดท้ายของที่อยู่ตรงกัน ทำให้การแทนที่แทบมองไม่เห็น

เขายังได้ยกตัวอย่างบัญชีที่เงินที่ถูกขโมยควรถูกส่งไป: บัญชีหลัก 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976 และอีกหลายบัญชีสำรอง

ในเวลาที่บล็อกเกอร์เผยแพร่ โอนเงินไปยังกระเป๋าเหล่านี้ถูกบันทึกไว้ แต่เงินยังไม่ได้ถูกเคลื่อนย้าย

นักพัฒนาทราบถึงปัญหาครั้งแรกเมื่อการบิลด์อัตโนมัติเริ่มล้มเหลว ในบันทึกแสดงข้อผิดพลาดผิดปกติ เช่น “fetch is not defined” การตรวจสอบพบโค้ดที่ถอดรหัสยากและฟังก์ชันที่น่าสงสัยเกี่ยวข้องกับ Ethereum และ Solana

ทำไมความเสียหายจึงน้อยมาก

แม้ว่าแนวคิดของการโจมตีจะดูอันตราย แต่ในทางปฏิบัติมันไม่ทำงาน โค้ดไม่เสถียรเกินไปและทำให้กระบวนการบิลด์ล้มเหลว สิ่งนี้ทำให้ชุมชนสามารถตรวจพบความผิดปกติได้อย่างรวดเร็วและบล็อกเวอร์ชันที่ติดไวรัส

Charles Guillaume ชี้แจงภายหลัง ว่าการโจมตีล้มเหลวจริง ๆ: มีเหยื่อเพียงไม่กี่ราย ตามคำกล่าวของเขา โค้ดอันตรายถูกออกแบบเพื่อโจมตีธุรกรรมคริปโตและแทนที่ที่อยู่โดยตรงในคำตอบเครือข่าย แต่เนื่องจากข้อผิดพลาดของแฮกเกอร์ที่เป็นนักพัฒนา มันจึงทำงานอย่างไม่แน่นอน

Arkham ประเมิน ว่าแฮกเกอร์สามารถขโมยไปได้เพียง 159 ดอลลาร์ เงินนี้ถูกโอนไปยังกระเป๋าที่ปรากฏในรายงานของ Ledger จำนวนเงินนี้น้อยนิดเมื่อเทียบกับความเสี่ยงที่อาจเกิดขึ้น แต่เหตุการณ์นี้แสดงให้เห็นว่าระบบนิเวศเข้าใกล้วิกฤตใหญ่เพียงใด

ยอดคงเหลือของกระเป๋าคริปโตของผู้โจมตี ตามข้อมูลของ Arkham

บทบาทของกระเป๋าฮาร์ดแวร์

ผู้ที่เสี่ยงที่สุดคือผู้ใช้กระเป๋าซอฟต์แวร์ที่เซ็นธุรกรรมโดยตรงในเบราว์เซอร์ ที่นั่น การแทนที่ที่อยู่แทบจะสังเกตไม่ได้ สถานการณ์ต่างออกไปมากสำหรับผู้ที่ใช้ฮาร์ดแวร์เพื่อเก็บกุญแจ

กระเป๋าฮาร์ดแวร์จะแสดงรายละเอียดการทำธุรกรรมทั้งหมดบนหน้าจอของตัวเอง และการยืนยันเกิดขึ้นด้วยปุ่มกายภาพ แม้ว่าแอปพลิเคชันจะแทนที่ที่อยู่ อุปกรณ์จะแสดงผู้รับที่แท้จริง ผู้ใช้ที่ใส่ใจจะสังเกตเห็นความไม่ตรงกันทันทีและยกเลิกการลงนาม

ตามคำกล่าวของ Guillaume ฟีเจอร์อย่าง Clear Signing และการตรวจสอบธุรกรรมที่ฝังอยู่ทำให้โซลูชันฮาร์ดแวร์เป็นเกราะสำคัญต่อการโจมตีลักษณะนี้

บทเรียนสำหรับชุมชนคริปโต

เรื่องนี้เป็นเครื่อง нагดุนใจว่าช่องโหว่ของห่วงโซ่อุปทานยังคงเป็นความเสี่ยงหลักของอุตสาหกรรม เพียงบัญชีของนักพัฒนาหนึ่งรายถูกเจาะก็สามารถทำให้ผู้ใช้หลายล้านคนทั่วโลกตกอยู่ในอันตรายได้

จากสถานการณ์นี้สามารถสรุปได้ 3 บทเรียนหลัก:

  • นักพัฒนาควรกำหนดเวอร์ชันของ dependency ใช้บิลด์ที่สามารถทำซ้ำได้ และตรวจสอบการอัปเดตของเครื่องมือพื้นฐานอย่างรอบคอบ
  • ผู้ถือคริปโตควรเก็บสินทรัพย์ไว้ในกระเป๋าฮาร์ดแวร์ และตรวจสอบที่อยู่บนหน้าจออุปกรณ์อย่างละเอียดก่อนทุกครั้งที่จะเซ็นชื่อ

บัญชีของนักพัฒนาในระบบนิเวศ NPM ต้องได้รับการป้องกันด้วยกุญแจความปลอดภัยและการยืนยันตัวตนหลายขั้นตอน เพื่อป้องกันไม่ให้ฟิชชิงนำไปสู่การรั่วไหล

บทสรุป

การโจมตี NPM แสดงให้เห็นว่าระบบโครงสร้างพื้นฐานทั้งหมดนั้นเปราะบางเพียงใด: การติดตั้งนับพันล้านครั้งขึ้นอยู่กับบัญชีเดียว คราวนี้ความเสียหายจำกัดอยู่ที่ 159 ดอลลาร์ แต่ครั้งต่อไปอาจไม่เหมือนเดิม

โชคและความผิดพลาดของผู้โจมตีไม่สามารถแทนที่ความปลอดภัยเชิงระบบได้ นั่นคือเหตุผลที่ทั้งนักพัฒนาและผู้ใช้ควรดำเนินการเพื่อไม่ให้การโจมตีครั้งใหม่ทำให้พวกเขาประหลาดใจ

ค้นหา อัตราแลกเปลี่ยนคริปโตที่ดีที่สุด ที่ Quickex

0.0
(0 การให้คะแนน)
คลิกดาวเพื่อให้คะแนน

คุณส่ง:

คุณส่ง:

เครือข่าย

ลอยน้ำ

คุณได้รับ:

คุณได้รับ:

เครือข่าย