
ที่มาภาพ: The Hacker News
jscrambler 8.14.0 ปล่อย npm มี preinstall hook ขโมยข้อมูลแบบ native
⚡ สรุป 30 วิ
เวอร์ชัน 8.14.0 ของ jscrambler ที่เผยบน npm ฝังโค้ดอันตรายใน preinstall hook ซึ่งดาวน์โหลดและรันโปรแกรมขโมยข้อมูลแบบ native บน Windows, macOS และ Linux…
jscrambler รุ่น 8.14.0 ที่เผยแพร่บน npm มีโค้ดอันตรายซ่อนอยู่ใน preinstall hook ซึ่งจะทำการดาวน์โหลดและรันโปรแกรมขโมยข้อมูลแบบ native โดยไม่ต้องให้ผู้ใช้เรียกใช้งานใด ๆ เพียงแค่ติดตั้งแพคเกจนี้ก็เพียงพอที่จะเปิดตัวมัลแวร์บนระบบ Windows, macOS และ Linux ได้ทันที รายงานของ Socket ระบุว่ามีการตรวจจับเวอร์ชันที่ถูกประทุรณ์เพียงหกนาทีหลังจากปล่อยออกมาเมื่อวันที่ 11 กรกฎาคม 2026 ทำให้เหตุการณ์นี้เป็นตัวอย่างใหม่ของการโจมตีซัพพลายเชนในระบบจัดการแพคเกจ JavaScript
Overview
jscrambler เป็นเครื่องมือที่นิยมใช้เพื่อป้องกันโค้ด JavaScript จากการถอดรหัสและลักลอบใช้งาน โดยทำการบีบอัดและแปลงสคริปต์ให้อ่านยากขึ้น การเผยแพร่เวอร์ชัน 8.14.0 ผ่าน npm จึงได้รับความสนใจจากนักพัฒนาจำนวนมาก อย่างไรก็ตาม การเพิ่ม “preinstall hook” ที่ซ่อนอยู่ในไฟล์ `package.json` ทำให้เมื่อผู้ใช้รันคำสั่ง `npm install [email protected]` ระบบจะดาวน์โหลดไฟล์ binary ที่ออกแบบมาสำหรับแต่ละระบบปฏิบัติการและเริ่มทำงานโดยอัตโนมัติ โค้ดนี้ไม่มีการร้องขอสิทธิ์เพิ่มเติมหรือแจ้งเตือนใด ๆ ต่อผู้ใช้
เหตุการณ์เช่นนี้เป็นการย้ำให้เห็นว่าการพึ่งพาแพคเกจจากแหล่งที่เปิดเผยต่อสาธารณะโดยไม่ตรวจสอบความสมบูรณ์ของโค้ดยังคงมีความเสี่ยงสูง แม้ว่า npm จะมีมาตรการป้องกันขั้นพื้นฐานเช่นการตรวจสอบลายเซ็นดิจิทัล แต่ผู้โจมตียังสามารถฝังโค้ดอันตรายในสคริปต์ที่ทำงานก่อนการติดตั้งได้
Threat Details
ใน preinstall hook ของเวอร์ชันนี้ มีคำสั่งที่จะเรียกใช้สคริปต์ native ที่ถูกบรรจุไว้เป็นไฟล์ binary สำหรับแต่ละแพลตฟอร์ม ตัวสคริปต์จะทำหน้าที่:
- ตรวจจับระบบปฏิบัติการของเครื่องผู้ติดตั้ง
- ดาวน์โหลดและแตกไฟล์ที่ซ่อนอยู่ในรูปแบบที่ไม่สามารถอ่านได้โดยง่าย
- เริ่มรันโปรแกรมขโมยข้อมูล (infostealer) ที่ทำการเก็บรวบรวมคีย์, คุกกี้, รายละเอียดระบบ และส่งกลับไปยังเซิร์ฟเวอร์ควบคุม
ไฟล์ binary นี้ถูกจัดเตรียมไว้แยกตาม Windows, macOS และ Linux ทำให้มัลแวร์สามารถทำงานได้บนสภาพแวดล้อมส่วนใหญ่ของนักพัฒนาและผู้ใช้ระบบ Unix‑like
- Windows – ไฟล์ .exe ที่รันด้วยสิทธิ์ของผู้ใช้งาน
- macOS – แพคเกจแบบ Mach-O binary
- Linux – ELF executable
การทำงานของมัลแวร์ไม่ได้ต้องอาศัยการนำเข้าโมดูลหรือเรียกใช้ CLI ใด ๆ หลังจากติดตั้งเสร็จสิ้นแล้ว โค้ดจะเริ่มทำงานโดยอัตโนมัติและซ่อนตัวในกระบวนการระบบ ทำให้การตรวจจับด้วยเครื่องมือป้องกันทั่วไปเป็นเรื่องยาก
Detection & Response
บริษัท Socket รายงานว่าได้สแกน npm registry อย่างต่อเนื่องและพบพฤติกรรมที่ผิดปกติของเวอร์ชันนี้ภายในหกนาทีหลังจากเผยแพร่ ทีมวิจัยใช้เทคนิคการเปรียบเทียบแฮชของไฟล์ `package.json` กับเวอร์ชันก่อนหน้าเพื่อระบุว่ามีการเพิ่มสคริปต์ใหม่ที่ไม่คุ้นเคย หลังจากตรวจพบแล้ว พวกเขาได้แจ้งให้ผู้ดูแล npm และทีมพัฒนาของ jscrambler ดำเนินการลบแพคเกจออกทันที
แม้ว่า npm จะทำการถอดถอนเวอร์ชันที่เป็นอันตรายแล้ว แต่ปัญหาที่ยังคงอยู่คือผู้ใช้หลายคนอาจได้ติดตั้งแล้วโดยไม่ทราบเหตุผล การตรวจสอบต่อมาจากแหล่งข้อมูลด้านความปลอดภัยต่าง ๆ แนะนำให้ผู้ใช้ทำการ:
- ตรวจสอบประวัติการติดตั้งในไฟล์ `package-lock.json` หรือ `yarn.lock`
- ลบโฟลเดอร์ `node_modules` ที่เกี่ยวข้องและติดตั้งใหม่จากเวอร์ชันที่เชื่อถือได้
- ใช้เครื่องมือสแกนความปลอดภัยของซอฟต์แวร์ เช่น Snyk, npm audit เพื่อตรวจจับแพคเกจที่อาจถูกดัดแปลง
การตอบสนองอย่างรวดเร็วของ Socket แสดงให้เห็นว่าการตรวจสอบแบบเรียลไทม์และการแชร์ข้อมูลระหว่างชุมชนผู้พัฒนามีความสำคัญต่อการลดผลกระทบจากซัพพลายเชนอันตราย
Impact
เหตุการณ์นี้ทำให้หลายองค์กรที่ใช้ jscrambler ในโครงการผลิตภัณฑ์ของตนต้องเผชิญกับความเสี่ยงด้านข้อมูลส่วนบุคคลและความลับทางธุรกิจ เนื่องจากมัลแวร์สามารถดึงข้อมูลสำคัญจากเครื่องพัฒนาได้ทันที การรั่วไหลของคีย์ API หรือโค้ดที่ยังไม่เปิดเผยอาจนำไปสู่การโจมตีต่อระบบหลังจากขั้นตอน CI/CD
สำหรับนักพัฒนาที่ทำงานบนคลาวด์หรือใช้บริการ CI เช่น GitHub Actions, GitLab CI การติดตั้งแพคเกจโดยอัตโนมัติในสคริปต์ pipeline อาจทำให้โค้ดอันตรายถูกกระจายไปยังเซิร์ฟเวอร์หลายเครื่องได้อย่างรวดเร็ว ส่งผลให้ทีมด้านความปลอดภัยต้องเสียเวลาและทรัพยากรในการตรวจสอบและกู้คืนระบบ
นอกจากนี้ การโจมตีแบบนี้ยังเป็นสัญญาณเตือนว่าแม้แพคเกจที่ได้รับการรับรองจากผู้ผลิตที่มีชื่อเสียงก็อาจถูกแฮ็กหรือทำลายโดยบุคคลภายนอก ผู้จัดการซอฟต์แวร์และทีม DevSecOps จำเป็นต้องปรับกระบวนการตรวจสอบความปลอดภัยของซัพพลายเชนให้เข้มงวดยิ่งขึ้น
Mitigation
เพื่อป้องกันไม่ให้เกิดเหตุการณ์คล้ายกันในอนาคต ผู้พัฒนาจึงควรนำแนวทางต่อไปนี้มาใช้:
- ล็อกเวอร์ชัน ของแพคเกจโดยใช้ไฟล์ `package-lock.json` หรือ `yarn.lock` และหลีกเลี่ยงการอัปเดตอัตโนมัติที่ไม่ได้ตรวจสอบ
- ตั้งค่า npm audit ให้ทำงานในทุกขั้นตอน CI/CD เพื่อบล็อกเวอร์ชันที่มีช่องโหว่หรือเปลี่ยนแปลงไฟล์ `preinstall` อย่างไม่คาดคิด
- ใช้บริการเช่น GitHub Dependabot หรือ Snyk ที่ให้การแจ้งเตือนแบบเรียลไทม์เมื่อพบแพคเกจที่ถูกประทุรณ์
องค์กรควรสร้างกระบวนการตรวจสอบภายในที่รวมถึงการสแกน hash ของไฟล์ package ก่อนและหลังการอัปเดต รวมถึงการทำ code signing สำหรับแพคเกจสำคัญเพื่อยืนยันความเป็นต้นฉบับของซอฟต์แวร์
สุดท้าย การให้ความรู้แก่ทีมพัฒนาว่าการตรวจสอบสคริปต์ที่ทำงานในขั้นตอน `preinstall`, `postinstall` หรือ `prepare` มีความสำคัญเท่า ๆ กับการตรวจสอบโค้ดหลัก จะช่วยลดช่องทางที่ผู้โจมตีสามารถแฝงมัลแวร์เข้าไปได้
Summary
เวอร์ชัน 8.14.0 ของแพคเกจ jscrambler บน npm ถูกประทุรณ์ด้วย preinstall hook ที่ติดตั้งและเรียกใช้โปรแกรมขโมยข้อมูลบน Windows, macOS และ Linux ได้โดยอัตโนมัติ การตรวจจับของ Socket ภายในหกนาทีหลังปล่อยทำให้แพคเกจถูกถอนออก แต่เหตุการณ์นี้เตือนถึงความเสี่ยงของซัพพลายเชน npm และความจำเป็นในการใช้มาตรการตรวจสอบและควบคุมเวอร์ชันอย่างเข้มงวดเพื่อป้องกันภัยคุกคามในอนาคต.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Compromised jscrambler 8.14.0 npm Release Drops Rust Infostealer During Install
- ผู้เขียน
- [email protected] (The Hacker News)
- แหล่ง
- The Hacker News
- วันที่เผยแพร่
- 12 กรกฎาคม 2569 เวลา 00:59



