NPM ถูกถล่มด้วยแพ็กเกจอันตรายกว่า 126 รายการ ดาวน์โหลดไปแล้วกว่า 86,000 ครั้ง!
บริษัทความปลอดภัย Koi เปิดเผยแคมเปญโจมตีชื่อ “PhantomRaven” ที่ใช้ช่องโหว่ในระบบ Remote Dynamic Dependencies (RDD) ของ NPM เพื่อแฝงมัลแวร์ในแพ็กเกจ JavaScript โดยไม่สามารถตรวจจับได้ด้วยเครื่องมือวิเคราะห์ทั่วไป
NPM เป็นระบบจัดการแพ็กเกจสำหรับ JavaScript ที่นักพัฒนาทั่วโลกใช้กันอย่างแพร่หลาย โดยปกติแล้ว dependency จะถูกดึงจากแหล่งที่เชื่อถือได้ของ NPM แต่ฟีเจอร์ RDD เปิดให้แพ็กเกจสามารถดึง dependency จากเว็บไซต์ภายนอกได้ แม้จะเป็น HTTP ที่ไม่เข้ารหัส
แฮกเกอร์ใช้ช่องทางนี้อัปโหลดแพ็กเกจ 126 รายการที่มีโค้ดแอบโหลดมัลแวร์จากเซิร์ฟเวอร์ภายนอก โดยแพ็กเกจเหล่านี้แสดงว่า “ไม่มี dependency” ทำให้เครื่องมือวิเคราะห์ไม่สามารถตรวจจับได้
มัลแวร์ที่ถูกโหลดจะสแกนเครื่องของเหยื่อเพื่อขโมยข้อมูล เช่น:
ตัวแปร environment ที่ใช้ตั้งค่าระบบ
Credential ของ GitHub, Jenkins และ NPM
ข้อมูลจากระบบ CI/CD ที่ใช้ deploy โค้ด
ส่งข้อมูลออกผ่าน HTTP, JSON และ WebSocket แบบซ้ำซ้อน
ที่น่าตกใจคือบาง dependency ใช้ชื่อที่ “AI chatbot มัก hallucinate” หรือแนะนำผิด ๆ ทำให้แฮกเกอร์สามารถหลอกนักพัฒนาให้ติดตั้งแพ็กเกจปลอมได้ง่ายขึ้น
รายละเอียดแคมเปญ PhantomRaven
ใช้ Remote Dynamic Dependencies (RDD) เพื่อโหลดมัลแวร์จากเว็บภายนอก
อัปโหลดแพ็กเกจ 126 รายการลง NPM
ดาวน์โหลดไปแล้วกว่า 86,000 ครั้ง
แสดงว่าไม่มี dependency เพื่อหลบการตรวจจับ
วิธีการโจมตี
โหลดมัลแวร์ “สด” ทุกครั้งที่ติดตั้งแพ็กเกจ
ตรวจสอบ IP ของผู้ติดตั้งเพื่อเลือก payload ที่เหมาะสม
ส่งโค้ดสะอาดให้ security researcher แต่ส่งโค้ดอันตรายให้บริษัท
ข้อมูลที่ถูกขโมย
Environment variables และ config ภายใน
Credential ของแพลตฟอร์มพัฒนา
ข้อมูลจากระบบ CI/CD
ส่งออกผ่านหลายช่องทางเพื่อความแน่นอน
จุดอ่อนของระบบ NPM
RDD ไม่สามารถตรวจสอบด้วย static analysis
ไม่มีการ cache หรือ versioning ทำให้โหลดโค้ดใหม่ทุกครั้ง
แพ็กเกจปลอมใช้ชื่อที่ AI มักแนะนำผิด
ความเสี่ยงจากการใช้แพ็กเกจโดยไม่ตรวจสอบ
อาจติดตั้งมัลแวร์โดยไม่รู้ตัว
ข้อมูล credential และระบบ deploy อาจถูกขโมย
การใช้ชื่อแพ็กเกจจาก AI chatbot อาจนำไปสู่การติดตั้งแพ็กเกจปลอม
วิธีป้องกันเบื้องต้น
ตรวจสอบแพ็กเกจก่อนติดตั้ง โดยดู source และ dependency
หลีกเลี่ยงการใช้แพ็กเกจที่โหลด dependency จากเว็บภายนอก
ใช้ระบบ sandbox หรือ container เมื่อติดตั้งแพ็กเกจใหม่
ติดตามรายชื่อแพ็กเกจอันตรายจากรายงานของ Koi และชุมชน
นี่คืออีกหนึ่งตัวอย่างของ “supply chain attack” ที่แฝงตัวในเครื่องมือที่นักพัฒนาใช้ทุกวัน และเตือนว่าแม้ระบบจะยืดหยุ่นแค่ไหน ก็ต้องมีการตรวจสอบและป้องกันอย่างรัดกุมเสมอ.
https://arstechnica.com/security/2025/10/npm-flooded-with-malicious-packages-downloaded-more-than-86000-times/
บริษัทความปลอดภัย Koi เปิดเผยแคมเปญโจมตีชื่อ “PhantomRaven” ที่ใช้ช่องโหว่ในระบบ Remote Dynamic Dependencies (RDD) ของ NPM เพื่อแฝงมัลแวร์ในแพ็กเกจ JavaScript โดยไม่สามารถตรวจจับได้ด้วยเครื่องมือวิเคราะห์ทั่วไป
NPM เป็นระบบจัดการแพ็กเกจสำหรับ JavaScript ที่นักพัฒนาทั่วโลกใช้กันอย่างแพร่หลาย โดยปกติแล้ว dependency จะถูกดึงจากแหล่งที่เชื่อถือได้ของ NPM แต่ฟีเจอร์ RDD เปิดให้แพ็กเกจสามารถดึง dependency จากเว็บไซต์ภายนอกได้ แม้จะเป็น HTTP ที่ไม่เข้ารหัส
แฮกเกอร์ใช้ช่องทางนี้อัปโหลดแพ็กเกจ 126 รายการที่มีโค้ดแอบโหลดมัลแวร์จากเซิร์ฟเวอร์ภายนอก โดยแพ็กเกจเหล่านี้แสดงว่า “ไม่มี dependency” ทำให้เครื่องมือวิเคราะห์ไม่สามารถตรวจจับได้
มัลแวร์ที่ถูกโหลดจะสแกนเครื่องของเหยื่อเพื่อขโมยข้อมูล เช่น:
ตัวแปร environment ที่ใช้ตั้งค่าระบบ
Credential ของ GitHub, Jenkins และ NPM
ข้อมูลจากระบบ CI/CD ที่ใช้ deploy โค้ด
ส่งข้อมูลออกผ่าน HTTP, JSON และ WebSocket แบบซ้ำซ้อน
ที่น่าตกใจคือบาง dependency ใช้ชื่อที่ “AI chatbot มัก hallucinate” หรือแนะนำผิด ๆ ทำให้แฮกเกอร์สามารถหลอกนักพัฒนาให้ติดตั้งแพ็กเกจปลอมได้ง่ายขึ้น
รายละเอียดแคมเปญ PhantomRaven
ใช้ Remote Dynamic Dependencies (RDD) เพื่อโหลดมัลแวร์จากเว็บภายนอก
อัปโหลดแพ็กเกจ 126 รายการลง NPM
ดาวน์โหลดไปแล้วกว่า 86,000 ครั้ง
แสดงว่าไม่มี dependency เพื่อหลบการตรวจจับ
วิธีการโจมตี
โหลดมัลแวร์ “สด” ทุกครั้งที่ติดตั้งแพ็กเกจ
ตรวจสอบ IP ของผู้ติดตั้งเพื่อเลือก payload ที่เหมาะสม
ส่งโค้ดสะอาดให้ security researcher แต่ส่งโค้ดอันตรายให้บริษัท
ข้อมูลที่ถูกขโมย
Environment variables และ config ภายใน
Credential ของแพลตฟอร์มพัฒนา
ข้อมูลจากระบบ CI/CD
ส่งออกผ่านหลายช่องทางเพื่อความแน่นอน
จุดอ่อนของระบบ NPM
RDD ไม่สามารถตรวจสอบด้วย static analysis
ไม่มีการ cache หรือ versioning ทำให้โหลดโค้ดใหม่ทุกครั้ง
แพ็กเกจปลอมใช้ชื่อที่ AI มักแนะนำผิด
ความเสี่ยงจากการใช้แพ็กเกจโดยไม่ตรวจสอบ
อาจติดตั้งมัลแวร์โดยไม่รู้ตัว
ข้อมูล credential และระบบ deploy อาจถูกขโมย
การใช้ชื่อแพ็กเกจจาก AI chatbot อาจนำไปสู่การติดตั้งแพ็กเกจปลอม
วิธีป้องกันเบื้องต้น
ตรวจสอบแพ็กเกจก่อนติดตั้ง โดยดู source และ dependency
หลีกเลี่ยงการใช้แพ็กเกจที่โหลด dependency จากเว็บภายนอก
ใช้ระบบ sandbox หรือ container เมื่อติดตั้งแพ็กเกจใหม่
ติดตามรายชื่อแพ็กเกจอันตรายจากรายงานของ Koi และชุมชน
นี่คืออีกหนึ่งตัวอย่างของ “supply chain attack” ที่แฝงตัวในเครื่องมือที่นักพัฒนาใช้ทุกวัน และเตือนว่าแม้ระบบจะยืดหยุ่นแค่ไหน ก็ต้องมีการตรวจสอบและป้องกันอย่างรัดกุมเสมอ.
https://arstechnica.com/security/2025/10/npm-flooded-with-malicious-packages-downloaded-more-than-86000-times/
📦💀 NPM ถูกถล่มด้วยแพ็กเกจอันตรายกว่า 126 รายการ ดาวน์โหลดไปแล้วกว่า 86,000 ครั้ง!
บริษัทความปลอดภัย Koi เปิดเผยแคมเปญโจมตีชื่อ “PhantomRaven” ที่ใช้ช่องโหว่ในระบบ Remote Dynamic Dependencies (RDD) ของ NPM เพื่อแฝงมัลแวร์ในแพ็กเกจ JavaScript โดยไม่สามารถตรวจจับได้ด้วยเครื่องมือวิเคราะห์ทั่วไป
NPM เป็นระบบจัดการแพ็กเกจสำหรับ JavaScript ที่นักพัฒนาทั่วโลกใช้กันอย่างแพร่หลาย โดยปกติแล้ว dependency จะถูกดึงจากแหล่งที่เชื่อถือได้ของ NPM แต่ฟีเจอร์ RDD เปิดให้แพ็กเกจสามารถดึง dependency จากเว็บไซต์ภายนอกได้ แม้จะเป็น HTTP ที่ไม่เข้ารหัส
แฮกเกอร์ใช้ช่องทางนี้อัปโหลดแพ็กเกจ 126 รายการที่มีโค้ดแอบโหลดมัลแวร์จากเซิร์ฟเวอร์ภายนอก โดยแพ็กเกจเหล่านี้แสดงว่า “ไม่มี dependency” ทำให้เครื่องมือวิเคราะห์ไม่สามารถตรวจจับได้
มัลแวร์ที่ถูกโหลดจะสแกนเครื่องของเหยื่อเพื่อขโมยข้อมูล เช่น:
🪲 ตัวแปร environment ที่ใช้ตั้งค่าระบบ
🪲 Credential ของ GitHub, Jenkins และ NPM
🪲 ข้อมูลจากระบบ CI/CD ที่ใช้ deploy โค้ด
🪲 ส่งข้อมูลออกผ่าน HTTP, JSON และ WebSocket แบบซ้ำซ้อน
ที่น่าตกใจคือบาง dependency ใช้ชื่อที่ “AI chatbot มัก hallucinate” หรือแนะนำผิด ๆ ทำให้แฮกเกอร์สามารถหลอกนักพัฒนาให้ติดตั้งแพ็กเกจปลอมได้ง่ายขึ้น
✅ รายละเอียดแคมเปญ PhantomRaven
➡️ ใช้ Remote Dynamic Dependencies (RDD) เพื่อโหลดมัลแวร์จากเว็บภายนอก
➡️ อัปโหลดแพ็กเกจ 126 รายการลง NPM
➡️ ดาวน์โหลดไปแล้วกว่า 86,000 ครั้ง
➡️ แสดงว่าไม่มี dependency เพื่อหลบการตรวจจับ
✅ วิธีการโจมตี
➡️ โหลดมัลแวร์ “สด” ทุกครั้งที่ติดตั้งแพ็กเกจ
➡️ ตรวจสอบ IP ของผู้ติดตั้งเพื่อเลือก payload ที่เหมาะสม
➡️ ส่งโค้ดสะอาดให้ security researcher แต่ส่งโค้ดอันตรายให้บริษัท
✅ ข้อมูลที่ถูกขโมย
➡️ Environment variables และ config ภายใน
➡️ Credential ของแพลตฟอร์มพัฒนา
➡️ ข้อมูลจากระบบ CI/CD
➡️ ส่งออกผ่านหลายช่องทางเพื่อความแน่นอน
✅ จุดอ่อนของระบบ NPM
➡️ RDD ไม่สามารถตรวจสอบด้วย static analysis
➡️ ไม่มีการ cache หรือ versioning ทำให้โหลดโค้ดใหม่ทุกครั้ง
➡️ แพ็กเกจปลอมใช้ชื่อที่ AI มักแนะนำผิด
‼️ ความเสี่ยงจากการใช้แพ็กเกจโดยไม่ตรวจสอบ
⛔ อาจติดตั้งมัลแวร์โดยไม่รู้ตัว
⛔ ข้อมูล credential และระบบ deploy อาจถูกขโมย
⛔ การใช้ชื่อแพ็กเกจจาก AI chatbot อาจนำไปสู่การติดตั้งแพ็กเกจปลอม
‼️ วิธีป้องกันเบื้องต้น
⛔ ตรวจสอบแพ็กเกจก่อนติดตั้ง โดยดู source และ dependency
⛔ หลีกเลี่ยงการใช้แพ็กเกจที่โหลด dependency จากเว็บภายนอก
⛔ ใช้ระบบ sandbox หรือ container เมื่อติดตั้งแพ็กเกจใหม่
⛔ ติดตามรายชื่อแพ็กเกจอันตรายจากรายงานของ Koi และชุมชน
นี่คืออีกหนึ่งตัวอย่างของ “supply chain attack” ที่แฝงตัวในเครื่องมือที่นักพัฒนาใช้ทุกวัน และเตือนว่าแม้ระบบจะยืดหยุ่นแค่ไหน ก็ต้องมีการตรวจสอบและป้องกันอย่างรัดกุมเสมอ.
https://arstechnica.com/security/2025/10/npm-flooded-with-malicious-packages-downloaded-more-than-86000-times/
0 ความคิดเห็น
0 การแบ่งปัน
33 มุมมอง
0 รีวิว