npm เพิ่มระบบควบคุมการเผยแพร่ และการติดตั้งแพ็กเกจด้วยการยืนยันตัวตนสองขั้นตอน (2FA) เพื่อป้องกันการโจมตีแบบ Supply Chain Attack

 

GitHub ได้เปิดตัวระบบควบคุมใหม่สำหรับ npm เพื่อยกระดับความปลอดภัยของ software supply chain โดยให้สิทธิ์ Maintainers ต้องอนุมัติการเผยแพร่ ก่อนที่แพ็กเกจเหล่านั้นจะถูกเปิดสู่สาธารณะเพื่อให้บุคคลทั่วไปติดตั้งได้

ฟีเจอร์นี้มีชื่อว่า Staged publishing ซึ่งปัจจุบันเปิดให้ใช้งานทั่วไปแล้วบน npm โดยระบบจะบังคับให้ผู้ดูแลแพ็กเกจ (ที่เป็นมนุษย์) ต้องผ่านการยืนยันตัวตนแบบ 2FA เพื่ออนุมัติแพ็กเกจ ก่อนที่แพ็กเกจนั้นจะถูกเผยแพร่ขึ้นไปยังเว็บ npmjs[.]com

GitHub ระบุว่า แทนที่จะเป็นการเผยแพร่โดยตรงซึ่งทำให้ผู้ใช้งานสามารถนำแพ็กเกจเวอร์ชันนั้นไปใช้งานได้ทันที ไฟล์ tarball ที่ prebuilt จะถูกอัปโหลดไปพักไว้ใน stage queue ก่อน ซึ่งผู้ดูแลจะต้องทำการอนุมัติเสียก่อน แพ็กเกจนั้นจึงจะสามารถนำไปติดตั้งได้

GitHub ระบุว่า การเปลี่ยนแปลงนี้ช่วยรับประกันการยืนยันตัวตนว่ามีบุคคลอยู่จริงสำหรับทุก ๆ การเผยแพร่ ซึ่งรวมถึงการเผยแพร่ที่มาจากกระบวนการ CI/CD แบบ Non-interactive และการเผยแพร่ที่ Trusted publishing ผ่านการยืนยันตัวตนด้วยระบบ OpenID Connect (OIDC)

ก่อนที่จะใช้งานระบบ Staged publishing ผู้ดูแลแพ็กเกจจะต้องมีคุณสมบัติตรงตามเกณฑ์ดังต่อไปนี้ :

มีสิทธิ์ในการ Publish สำหรับแพ็กเกจนั้น
แพ็กเกจนั้นจะต้องมีอยู่แล้วบน npm registry ซึ่งหมายความว่าแพ็กเกจที่สร้างขึ้นมาใหม่เลย จะไม่สามารถใช้งานระบบ Staged ได้
บัญชีผู้ใช้เปิดใช้งานระบบ 2FA แล้ว

นักพัฒนาสามารถใช้คำสั่ง npm stage publish จาก Root directory ของแพ็กเกจ เพื่อส่งแพ็กเกจนั้นเข้าสู่ Staging area ได้ โดยในการใช้งานคำสั่งนี้ จำเป็นอย่างยิ่งที่จะต้องอัปเดต npm CLI ให้เป็นเวอร์ชัน 11.15.0 หรือใหม่กว่า นอกจากนี้ เพื่อการป้องกันที่มีประสิทธิภาพสูงสุด GitHub แนะนำให้ใช้งานระบบ Staged publishing ควบคู่ไปกับ Trusted publishing โดยใช้ OIDC

--allow-file: ควบคุมการติดตั้งจาก Local file paths และไฟล์ tarball ในเครื่อง
--allow-remote: ควบคุมการติดตั้งจาก Remote URLs รวมถึงไฟล์ tarball ผ่านลิงก์ https
--allow-directory: ควบคุมการติดตั้งจากไดเรกทอรีภายในเครื่อง

GitHub ระบุว่า flag เหล่านี้ช่วยให้นักพัฒนาสามารถใช้วิธีการกำหนดรายการ Explicit-allowlist แบบเดียวกันนี้ กับทุก ๆ แหล่งการติดตั้งที่ไม่ได้มาจาก Registry ของ npm โดยตรงได้

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

ที่มา : thehackernews

แฮ็กเกอร์เจาะระบบแพ็กเกจ 34 รายการบน npm, PyPI และ Crates ในการโจมตี Supply Chain Attack ครั้งใหม่

แคมเปญการโจมตี Supply Chain Attack ครั้งใหม่ในชื่อ TrapDoor ซึ่งเป็นการโจมตีที่กำลังดำเนินอยู่ โดยมีการปล่อยแพ็กเกจอันตราย 34 รายการ และเวอร์ชันที่เกี่ยวข้องกว่า 384 เวอร์ชัน กระจายบน npm, PyPI และ Crates.

เผยสาเหตุ Grafana ข้อมูลรั่วไหล เกิดจากการพลาดไม่เปลี่ยน Token หลังเหตุการณ์โจมตี TanStack

เหตุการณ์ข้อมูลของ Grafana รั่วไหล มีสาเหตุมาจาก Workflow token บน GitHub เพียงตัวเดียวที่หลุดรอดไปจากกระบวนการ rotate โทเค็นภายหลังเกิดเหตุโจมตี Supply-chain attack ของแพ็กเกจ TanStack บน npm เมื่อสัปดาห์ที่ผ่านมา

(more…)

มัลแวร์ Shai-Hulud ที่หลุดออกมา ทำให้เกิดแคมเปญมัลแวร์ Infostealer บน npm รอบใหม่

มัลแวร์ Shai-Hulud ที่หลุดออกมาเมื่อสัปดาห์ที่แล้ว กำลังถูกนำมาใช้ในการโจมตี Node Package Manager (npm) index ครั้งใหม่ โดยพบแพ็กเกจที่ติดมัลแวร์ปรากฏขึ้นเมื่อช่วงสุดสัปดาห์ที่ผ่านมา (more…)

ช่องโหว่ Supply-Chain Attack ของ npm รูปแบบใหม่ แพร่กระจายตัวเองเพื่อขโมย Authentication Token

การโจมตีแบบ Supply Chain Attack รูปแบบใหม่ มุ่งเป้าไปที่ Ecosystem ของ npm เพื่อขโมย credentials ของนักพัฒนา และพยายามแพร่กระจายแพ็กเกจผ่านบัญชีที่ถูก Compromised (more…)

Hacker โจมตี Axios npm package เพื่อฝังมัลแวร์ที่ทำงานได้ Cross Platform

Hacker ได้แฮ็กบัญชี npm ของ Axios package ซึ่งเป็น JavaScript HTTP client ที่มียอดดาวน์โหลดมากกว่า 100 ล้านครั้งต่อสัปดาห์ เพื่อส่ง Remote Access Trojans (RAT) ไปยังระบบ Linux, Windows และ macOS

(more…)

แพ็กเกจ npm อันตราย ถูกใช้เพื่อขโมยข้อมูลบัญชี และข้อความของ WhatsApp

แพ็กเกจอันตรายใน Registry ของ Node Package Manager (NPM) โดยแอบอ้างว่าเป็นไลบรารี WhatsApp Web API ของจริง เพื่อขโมยข้อความของ WhatsApp, รวบรวมรายชื่อผู้ติดต่อ และเข้าถึงบัญชีของผู้ใช้งาน

แพ็กเกจอันตรายนี้เป็นการ Fork (แยกส่วนมาพัฒนาต่อ) จากโปรเจกต์ยอดนิยมที่ชื่อว่า WhiskeySockets Baileys โดยตัวแพ็กเกจยังคงฟังก์ชันการทำงานที่ใช้งานได้จริงเอาไว้เพื่อให้แนบเนียน มันถูกเผยแพร่บน npm ภายใต้ชื่อ lotusbail มาเป็นเวลาอย่างน้อย 6 เดือนแล้ว และมียอดดาวน์โหลดสะสมไปแล้วกว่า 56,000 ครั้ง (more…)

แพ็คเกจ NPM ที่เป็นอันตราย ใช้การ redirect ของ Adspect เพื่อหลบเลี่ยงการตรวจจับ

ตรวจพบแพ็คเกจ 7 รายการที่ถูกเผยแพร่บน Node Package Manager (npm) registry ที่แอบใช้บริการคลาวด์ที่ชื่อ Adspect เพื่อคัดแยกคนเข้าชม โดยจะแยกระหว่างกลุ่มนักวิจัยออกจากเหยื่อที่เป็นเป้าหมาย แล้วนำเฉพาะเหยื่อไปยังเว็บไซต์ที่เป็นอันตราย

(more…)

แพ็กเกจ NPM ที่เป็นอันตราย ดาวน์โหลดมัลแวร์ Infostealer สำหรับ Windows, Linux, และ macOS

มีรายงานการค้นพบแพ็คเกจอันตราย 10 รายการบน npm registry ที่เลียนแบบ software projects ที่ถูกต้อง โดยแพ็คเกจเหล่านี้จะดาวน์โหลด component สำหรับขโมยข้อมูล ที่จะรวบรวมข้อมูลสำคัญจากระบบ Windows, Linux และ macOS

แพ็คเกจเหล่านี้ถูกอัปโหลดไปยัง npm เมื่อวันที่ 4 กรกฎาคม และไม่ถูกตรวจพบเป็นเวลานาน เนื่องจากการเข้ารหัสหลายชั้น ซึ่งช่วยให้รอดพ้นจากกลไกการวิเคราะห์โค้ดแบบทั่วไป

ตามรายงานของนักวิจัยจากบริษัทความปลอดภัยทางไซเบอร์ Socket ระบุว่า แพ็คเกจทั้ง 10 นี้มียอดดาวน์โหลดเกือบ 10,000 ครั้ง และได้ขโมยข้อมูล credentials จาก system keyrings, เบราว์เซอร์ และ authentication services

แพ็คเกจเหล่านี้ยังคงดาวน์โหลดได้ แม้ว่า Socket จะรายงานไปยัง npm แล้วก็ตาม:

typescriptjs
deezcord.

แฮ็กเกอร์โจมตีแพ็กเกจ NPM ที่มียอดดาวน์โหลดรวมกว่า 2 พันล้านครั้งต่อสัปดาห์ในรูปแบบ supply chain attack

การโจมตีแบบ supply chain attack ครั้งนี้ เกิดขึ้นจากการที่แฮ็กเกอร์ใช้วิธีการฟิชชิ่งเพื่อเข้าถึงบัญชีของผู้ดูแลแพ็กเกจ ก่อนจะฝังมัลแวร์ลงในแพ็กเกจ NPM ซึ่งมียอดดาวน์โหลดรวมสูงถึง 2.6 พันล้านครั้งต่อสัปดาห์

Josh Junon (qix) ผู้ดูแลแพ็กเกจที่ตกเป็นเป้าหมายในการโจมตีแบบ supply chain attack ครั้งนี้ ได้ออกมายืนยันเมื่อวันที่ 8 กันยายน 2025 ว่า บัญชีของเขาถูกเข้าถึง โดยเปิดเผยว่า แฮ็กเกอร์ส่งอีเมลฟิชชิงมาจากที่อยู่อีเมล support [at] npmjs [dot] help ซึ่งเป็นโดเมนของเว็บไซต์ที่ปลอมเป็น npmjs.